Ich habe eine WebApp mit zwei Abhängigkeiten wie unten gezeigt. Ich möchte eine War-Datei für die Bereitstellung auf Tomcat mit Ant + Ivy erstellen.
+
+-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches
// a thread contained in MyApp)
+-MyApp // this is just a vanilla Java Application
+-MyCommonStuff // these are common classes shared between MyApp and MyWebApp
// Ex. Database access code & business classes
Anhand der Ant-Dokumentation habe ich herausgefunden, wie ich die entsprechenden build.xml-Dateien für jedes Projekt erstellen kann. Mit anderen Worten, jedes Projekt hat eine unabhängige build.xml, so dass ich, um das gesamte Projekt zu bauen, nur Folgendes tun muss:
mkdir build
cd build
export SOME_COMMONBASE=`pwd`
svn co https://mybuildmachine.lan/svn/mycommonstuff mycommonstuff
cd mycommonstuff
ant
cd ..
% this produces mycommonstuff.jar
svn co https://mybuildmachine.lan/svn/myapp myapp
cd myapp
ant
cd ..
% this produces myapp.jar
svn co https://mybuildmachine.lan/svn/mywebapp mywebapp
cd mycommonstuff
ant
cd ..
% this produces mywebapp.war and deploys it to Tomcat
Jetzt würde ich gerne alles zusammenbringen, damit ich einen einzigen Build starten kann. Oberflächlich betrachtet sieht es so aus, als ob ich irgendwie in der Lage sein sollte, eine Ivy build.xml zu erstellen, die die Abhängigkeiten miteinander verdrahtet. Ich habe jedoch die Ivy-Dokumentation gelesen und nach Beispielen gegoogelt, aber ich bin immer noch nicht schlauer, wie ich diese Aufgabe bewältigen kann. Kann mir jemand ein paar Tipps geben, wie ich das machen kann?