| <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> |