Kann Apache Ant eine Aufgabe vollständig über einer Dateigruppe ausführen, ohne beim ersten Fehler anzuhalten?
Ich habe in ant ein Ziel eingerichtet, das eine PHP-Fusselprüfung für alle geänderten Dateien seit der letzten Prüfung durchführt.
<target name="lint" unless="lint.done"> <apply executable="php" taskname="lint" failonerror="true"> <arg value="-l"> <fileset dir="..."> <include name="**/*.php"> <modified/> </fileset> </apply> </target>
Wenn dies fehlschlägt, weil eine einzelne Datei die Fusselprüfung nicht besteht, werden alle anderen Dateien leider nicht fusselfrei geprüft, sondern immer noch im geänderten Cache gespeichert. Die Datei, die den Fehler verursacht hat, wird ebenfalls zwischengespeichert. modified
Dies bedeutet, dass die Prüfung bei der nächsten Ausführung der Prüfung bestanden wird, auch wenn keine Änderungen an der Ursache vorgenommen wurden, warum die Fusselprüfung fehlgeschlagen ist.
Wenn am Ende ein Flusenfehler auftritt, sollte der Build fehlschlagen. Der schwierige Teil besteht darin zu versuchen, es zum Scheitern zu bringen und nicht anzuhalten, bevor es nicht mit dem Fusseln fertig ist.
Die Lösung wäre, folgendes zu implementieren:
- Wenn die Prüfung fehlschlägt, aktualisieren Sie den geänderten Cache nicht.
- Wenn die Prüfung für eine Datei fehlschlägt, fahren Sie mit dem Linting anderer Dateien fort, aber kennzeichnen Sie den Build trotzdem als Fehler.
Sind eine oder beide dieser Lösungen möglich?
Für diesen ersten Punkt weiß ich, dass Sie ein Argument übergeben können, bei modified
dem der Cache nicht mehr aktualisiert wird. Könnten Sie modified
nach dem Flusentest eine zweite Sekunde aufrufen, um die Dateien nur dann zwischenzuspeichern, wenn der Test erfolgreich war?
Für den zweiten Punkt kann ich mir vor allem vorstellen, dass ich nicht bei einem Flusenfehler ausfalle, sondern die Ergebnisse der Flusen in ein Skript übergebe, das alle ausgefallenen Dateien gleichzeitig prüft und ausgibt, wenn dies erforderlich ist.
0 Antworten auf die Frage
Verwandte Probleme
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
1
Apache Reverse Proxy
-
3
Ubuntu Server mit GNOME Desktop Envinronment - Einstellen der Apatche-Konfigurationsdateiberechtigun...
-
8
Wie kann ich allen Benutzern in Linux Schreibzugriff auf einen Ordner gewähren?
-
1
Apache2-Fehlerprotokoll
-
2
Mac OS X-Bash: Deinstallieren Sie alle Apache- und PHP-Vorfälle
-
6
Wie kann ich verhindern, dass Dienste beim Booten unter Ubuntu gestartet werden?
-
5
Ordnen Sie den Ordner "Sites" http: // localhost unter OS X zu
-
2
Gibt es einen kostenlosen Security Log Analyzer für Apache?
-
6
Installieren Sie mehrere PHP-Umgebungen unter OS X Snow Leopard