Offer to see the extensions available in ant-contrib tasks.
The task for can be adapted to your requirements.
Your all-release target, with ant -contrib taskdef, might look something like this:
<taskdef resource="net/sf/antcontrib/antlib.xml"> <classpath> <pathelement location="lib/ant-contrib-1.0b3.jar"/> </classpath> </taskdef> <target name="all-release"> <for keepgoing="true" param="file"> <path> <fileset dir="." includes="*/build.xml" /> </path> <sequential> <ant antfile="@{file}" target="sub-release" /> </sequential> </for> </target>
Using some other ant -contrib functions, it is possible to get a list of crashes.
Example log above build.xml:
$ ant all-release Buildfile: build.xml all-release: [echo] /work/Scratch/dir1/build.xml sub-release: [echo] dir1 [echo] /work/Scratch/dir2/build.xml sub-release: [echo] dir2 [for] /work/Scratch/dir2/build.xml: The following error occurred while executing this line: [for] /work/Scratch/build.xml:17: The following error occurred while executing this line: [for] /work/Scratch/dir2/build.xml:6: dir2 failed [echo] /work/Scratch/dir3/build.xml sub-release: [echo] dir3 BUILD FAILED /work/Scratch/build.xml:11: Keepgoing execution: 1 of 3 iterations failed. Total time: 0 seconds
source share