Wie verwenden von Platzhalterzeichen in der Ant-Befehl zur Verfügung
Ich bin mit einem Ant build-Skript zum Sortieren meine Eclipse-basierte Anwendung für die Verteilung.
Einen Schritt des Aufbaus ist zu überprüfen, dass die richtigen Bibliotheken sind in den build-Ordner. Derzeit nutze ich den Ant-Befehl für diesen. Leider muss ich das Skript ändern jedes mal, wenn ich Umstieg auf eine neue Eclipse-build (da die Versionsnummern aktualisiert haben).
Brauche ich nicht zu überprüfen Sie die Versionsnummern, ich muss nur überprüfen, ob die Datei da ist.
So, wie kann ich das prüfen:
org.eclipse.rcp_3.5.0.*
statt:
org.eclipse.rcp_3.5.0.v20090519-9SA0FwxFv6x089WEf-TWh11
mit Hilfe von Ant?
cheers,
Ian
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du meinst, so etwas wie (auf der Grundlage der pathconvert Aufgabe, nach diese Idee):
Etwas kürzer und einfacher Ansatz mit resourcecount Zustand:
Den pathconvert Aufgabe ist wahrscheinlich der bevorzugte Weg zu gehen, in den meisten Fällen. Schafft es aber ein kleines problem, wenn die directory-Struktur ist sehr groß und man nutzt die echoproperties Aufgabe. Mit einer sehr großen Verzeichnisbaum, der string generiert pathconvert kann riesig sein. Dann echoproperties sprays die riesigen string, wodurch der output eher schwierig, mit zu arbeiten. Ich benutze eine macrodef auf Linux erstellt, die Eigenschaft auf "1" gesetzt, wenn Dateien in das Verzeichnis:
Ausführung der "test" target erzeugt die folgende echoproperties Linie, wenn es Dateien im ./target_dir/directory:
Was "testen" bedeutet:
Es erzeugt einen temporären Dateinamen, ${temp.Datei}, die können später verwendet werden, als eine property-Datei.
Es führt dann die macrodef, die Aufrufe von der shell und überprüfen Sie den Inhalt des Verzeichnis dirPath. Wenn es irgendwelche Dateien oder Verzeichnisse in dirPath, weist es die propertyName-Eigenschaft einen Wert von 1 in die temporäre Datei. Es liest dann die Datei und setzt die Eigenschaft in der Datei. Wenn die Datei leer ist, keine Eigenschaft definiert ist.
Beachten Sie, dass die temporäre Datei konnte wiederverwendet werden für nachfolgende Aufrufe der macrodef, falls gewünscht. Auf der anderen Seite, natürlich, wenn ein property gesetzt wird, ist es unveränderlich.