1*608e00cbSXin Li<project name="s2-geometry-java" default="compile"> 2*608e00cbSXin Li 3*608e00cbSXin Li <property name="src.dir" value="${basedir}/src" /> 4*608e00cbSXin Li <property name="tests.dir" value="${basedir}/tests" /> 5*608e00cbSXin Li <property name="lib.dir" value="${basedir}/lib" /> 6*608e00cbSXin Li <property name="build.dir" value="${basedir}/build" /> 7*608e00cbSXin Li <property name="classes.dir" value="${build.dir}/classes" /> 8*608e00cbSXin Li <property name="project-jarfile" 9*608e00cbSXin Li value="${build.dir}/${ant.project.name}.jar" /> 10*608e00cbSXin Li <property name="testClasses.dir" value="${build.dir}/test" /> 11*608e00cbSXin Li 12*608e00cbSXin Li <path id="classpath.path"> 13*608e00cbSXin Li <fileset dir="${lib.dir}"> 14*608e00cbSXin Li <include name="*.jar" /> 15*608e00cbSXin Li </fileset> 16*608e00cbSXin Li </path> 17*608e00cbSXin Li 18*608e00cbSXin Li <target name="clean" 19*608e00cbSXin Li description="removes all generated files"> 20*608e00cbSXin Li <delete dir="${build.dir}" /> 21*608e00cbSXin Li </target> 22*608e00cbSXin Li 23*608e00cbSXin Li <target name="compile" 24*608e00cbSXin Li description="compiles Java files for the s2 library"> 25*608e00cbSXin Li <mkdir dir="${classes.dir}" /> 26*608e00cbSXin Li <javac srcdir="${src.dir}" 27*608e00cbSXin Li destdir="${classes.dir}" 28*608e00cbSXin Li includeAntRuntime="false" 29*608e00cbSXin Li deprecation="on"> 30*608e00cbSXin Li <compilerarg value="-Werror" /> 31*608e00cbSXin Li <classpath refid="classpath.path" /> 32*608e00cbSXin Li </javac> 33*608e00cbSXin Li </target> 34*608e00cbSXin Li 35*608e00cbSXin Li <target name="jar" 36*608e00cbSXin Li depends="compile" 37*608e00cbSXin Li description="packages the class files as a jar"> 38*608e00cbSXin Li <jar destfile="${project-jarfile}" update="true"> 39*608e00cbSXin Li <fileset dir="${classes.dir}" /> 40*608e00cbSXin Li </jar> 41*608e00cbSXin Li </target> 42*608e00cbSXin Li 43*608e00cbSXin Li <target name="compile-tests" 44*608e00cbSXin Li depends="compile" 45*608e00cbSXin Li description="compile the JUnit tests"> 46*608e00cbSXin Li <mkdir dir="${testClasses.dir}" /> 47*608e00cbSXin Li <javac srcdir="${tests.dir}" 48*608e00cbSXin Li destdir="${testClasses.dir}" 49*608e00cbSXin Li deprecation="on"> 50*608e00cbSXin Li <compilerarg value="-Werror" /> 51*608e00cbSXin Li <classpath refid="classpath.path" /> 52*608e00cbSXin Li <classpath> 53*608e00cbSXin Li <pathelement location="${classes.dir}" /> 54*608e00cbSXin Li </classpath> 55*608e00cbSXin Li </javac> 56*608e00cbSXin Li </target> 57*608e00cbSXin Li 58*608e00cbSXin Li <macrodef name="testing"> 59*608e00cbSXin Li <attribute name="printsummary" default="off" /> 60*608e00cbSXin Li <attribute name="fork" default="off" /> 61*608e00cbSXin Li <attribute name="forkmode" default="perTest" /> 62*608e00cbSXin Li <sequential> 63*608e00cbSXin Li <antcall target="compile-tests" /> 64*608e00cbSXin Li <junit printsummary="@{printsummary}" 65*608e00cbSXin Li fork="@{fork}" 66*608e00cbSXin Li forkmode="@{forkmode}" 67*608e00cbSXin Li showoutput="true"> 68*608e00cbSXin Li <classpath refid="classpath.path" /> 69*608e00cbSXin Li <classpath> 70*608e00cbSXin Li <pathelement location="${classes.dir}" /> 71*608e00cbSXin Li <pathelement location="${testClasses.dir}" /> 72*608e00cbSXin Li </classpath> 73*608e00cbSXin Li <formatter type="plain" usefile="false" /> 74*608e00cbSXin Li <batchtest haltonfailure="true"> 75*608e00cbSXin Li <fileset dir="${testClasses.dir}"> 76*608e00cbSXin Li <include name="**/*Test.class" /> 77*608e00cbSXin Li </fileset> 78*608e00cbSXin Li </batchtest> 79*608e00cbSXin Li </junit> 80*608e00cbSXin Li </sequential> 81*608e00cbSXin Li </macrodef> 82*608e00cbSXin Li 83*608e00cbSXin Li <target name="test" 84*608e00cbSXin Li description="runs all of the tests"> 85*608e00cbSXin Li <testing printsummary="on" fork="on" forkmode="once" /> 86*608e00cbSXin Li </target> 87*608e00cbSXin Li 88*608e00cbSXin Li <target name="test-forkless" 89*608e00cbSXin Li description="runs all of the tests without forking the process"> 90*608e00cbSXin Li <testing /> 91*608e00cbSXin Li </target> 92*608e00cbSXin Li 93*608e00cbSXin Li <target name="all" 94*608e00cbSXin Li depends="compile,jar,compile-tests,test" 95*608e00cbSXin Li description="build all deliverables for the project" 96*608e00cbSXin Li /> 97*608e00cbSXin Li 98*608e00cbSXin Li</project> 99