<project name="buildtest" default="test-all"> <!-- Initialization target to setup the build directory. --> <target name="init"> <tstamp/> <property name="builddir" location="build-current-${DSTAMP}" /> <mkdir dir="${builddir}"/> <property name="asmx" location="${builddir}/annotations/asmx" /> <property name="scene-lib" location="${builddir}/annotations/scene-lib" /> <property name="annotations-compiler" location="${builddir}/jsr308-langtools/src/share/opensource/javac" /> <property name="annotations-disassembler" location="${builddir}/annotations/disassembler" /> <property name="annotator" location="${builddir}/annotations/annotator" /> <property name="annotated-jdk" location="${builddir}/qualifiers/annotated-jdk" /> </target> <!-- Targets to checkout all the projects. --> <target name="checkout-jsr308-langtools" depends="init"> <exec dir="${builddir}" executable="hg" failonerror="true"> <arg value="clone"/> <arg value="https://bitbucket.org/typetools/jsr308-langtools"/> <arg value="jsr308-langtools"/> </exec> </target> <target name="checkout-annotation-tools" depends="init"> <exec dir="${builddir}" executable="git" failonerror="true"> <arg value="clone"/> <arg value="https://github.com/typetools/annotation-tools.git"/> <arg value="annotation-tools"/> </exec> </target> <target name="checkout-checker-framework" depends="init"> <exec dir="${builddir}" executable="git" failonerror="true"> <arg value="clone"/> <arg value="https://github.com/typetools/checker-framework.git"/> <arg value="checker-framework"/> </exec> </target> <target name="checkout-all" depends="checkout-jsr308-langtools, checkout-annotation-tools, checkout-checker-framework"/> <!-- Targets to build all the projects. --> <target name="build-asmx" depends="checkout-annotations"> <ant dir="${asmx}" inheritAll="false" target="bin"/> </target> <target name="build-scene-lib" depends="checkout-annotations"> <ant dir="${scene-lib}" inheritAll="false" target="bin"/> </target> <target name="build-annotations-compiler" depends="checkout-annotations"> <ant dir="${annotations-compiler}" inheritAll="false" target="build"/> </target> <target name="build-annotations-disassembler" depends="checkout-annotations"> <ant dir="${annotations-disassembler}" inheritAll="false" target="bin"/> </target> <target name="build-annotated-jdk" depends="checkout-qualifiers"> <ant dir="${annotated-jdk}" inheritAll="false" target="bin"/> </target> <target name="build-annotator" depends="checkout-annotations"> <ant dir="${annotator}" inheritAll="false" target="bin"/> </target> <target name="build-all" depends="build-asmx, build-scene-lib, build-annotations-compiler, build-annotated-jdk, build-annotator"> </target> <!-- Targets to actually run the tests. --> <!-- Runs the tests on the extensions to ASM. --> <target name="test-asmx" depends="build-asmx"> <ant dir="${asmx}" inheritAll="false" target="test"> <property name="test.group" value="conform/xannotation"/> </ant> <copy todir="./reports"> <fileset dir="${asmx}/output/test/reports" includes="**/*"/> </copy> </target> <!-- Runs the tests on the annotation scene library, and also on the classfile to index file and vice versa part of the annotation file utilities. --> <target name="test-scene-lib" depends="build-scene-lib"> <ant dir="${scene-lib}" inheritAll="false" target="test-scene-lib"/> <ant dir="${scene-lib}" inheritAll="false" target="test-classfile"/> <copy todir="./reports"> <fileset dir="${scene-lib}/reports" includes="**/*"/> </copy> </target> <!-- Runs the tests on the annotator - the index file to source code tool of the annotation file utilities. --> <target name="test-annotator" depends="build-annotator"> <exec dir="${annotator}/tests" executable="make" failonerror="true" output="./reports/test-annotator.result"> <arg value="all"/> </exec> </target> <target name="test-all-annotations" depends="test-asmx, test-scene-lib, test-annotator"/> <target name="test-all" depends="test-all-annotations"/> <target name="help"> <echo message="Buildfile for the Annotation File Utilities"/> <echo message="Targets: "/> <echo message="checkout-all: Checkout all known projects from cvs or svn." /> <echo message="build-all: Build all projects." /> <echo message="test-all: Run all known tests." /> </target> </project>