2009-07-30 8 views

Antwort

4

Sie ein Projekt erstellen kann, die Ihr Arbeitsverzeichnis zu bestimmten Zeit reinigt.

<project name="CleanWorkingDir"> 
<triggers> 
    <scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Scheduled"/> 
</triggers> 
<tasks> 
    <exec executable="c:\projects\myproject\build.bat"/> 
</tasks> 
</project> 
0

Wir haben ein Skript, das alles im Quellverzeichnis gelöscht und platziert es in dem vorkompilierte Schritt:

<prebuild> 
    <exec> 
     <executable>Clean_Source.bat</executable> 
     <baseDirectory>SourceDir</baseDirectory> 
    </exec> 
</prebuild> 
+0

Wird das nicht jeden Build ausführen? Ich möchte nur einmal in der Nacht sauber machen, da volle Builds 10-12 Minuten dauern. – nos

+0

Es wird jeden Build ausgeführt. Wir haben zwei Build-Projekte, die auf die gleichen Build-Parameter verweisen - einen inkrementellen Build und einen vollständigen Build. Der vollständige Build ruft diesen Prebuild-Schritt zuerst auf, dann wird der normale inkrementelle Build aufgerufen. –

1

Verwenden Sie die saubere Kopie auf dem Quellsteuerblock, alles ist bereits für Sie erledigt. Alles, was Sie tun müssen, ist, es auf wahr zu setzen. Wenn Sie wirklich wollen, dass ein Projekt dieses Verzeichnis bereinigt, dann haben Sie keine Build-Aufgaben. Aus Gründen der guten Release-Technik sollten Sie jedoch unbedingt eine Kopie mit allen Ihren individuellen Builds verwenden. Andernfalls können Sie nicht sicher sein, dass der Build auf einer absolut sauberen Maschine funktionieren würde.