Ich habe ein Build-Skript und als Teil dieses Skripts kopiert es eine JAR-Datei in ein Verzeichnis, für die Leichtigkeit nennen wir es die utils jar. Das Utils-Jar wird von einem anderen Build-Skript erstellt, das in einem anderen Verzeichnis sitzt. Was ich versuche zu tun, habe mein Build-Skript das utils Build-Skript ausführen, so dass ich sicherstellen kann, dass das utils jar aktuell ist.Ant Build-Skripte, Antcall, Abhängigkeiten usw.
Also ich weiß, ich muss die utils Build-Datei importieren.
<import file="../utils/build/build.xml" />
Welche funktioniert nicht, weil die Importaufgabe, im Gegensatz zu fast allen anderen Ameise taks, nicht von basedir ausführen, wird es von der PWD. So umgehen, dass ich dieses kleine Liedchen haben, die erfolgreich die Build-Datei
<property name="baseDirUpOne" location=".." />
<import file="${baseDirUpOne}/utils/build/build.xml" />
Also jetzt, dass ive meine Import Problem löste ich die Aufgabe aufrufen müssen nicht importiert werden, auch das sollte einfach richtig sein:
<antcall target="utils.package" />
zur Kenntnis, dass in den oben genannten, utils der Name ../utils/build/build.xml Projektes ist
das Problem, das ich jetzt in renne ist, dass ant Anruf nicht in ausführt. ./utils/build also was ich brauche und nicht finden kann, ist eine Runat Eigenschaft oder etwas ähnliches, im Wesentlichen:
<antcall target="utils.package" runat="../utils/build" />
Der Grund, warum ich diese brauchen, ist, dass der Schritt in meiner utils-Build-Datei in das Gefäß zu kopieren, die Code auszuwählen relative Pfade basiert, um hartzucodieren Pfade zu vermeiden in meiner Ameisenfeile. Irgendwelche Ideen?
Was ist, wenn Sie den Klassenpfad im Subant-Ziel anpassen müssen? –