<project default="test-junit"> <property file="build.properties" /> <property name="project.classes.dir" value="${project.name}/WEB-INF/classes" /> <property name="test.classes.dir" value="${test.dir}/classes" /> <path id="compile.classpath"> <!-- Include the Junit JAR file--> <fileset dir="${project.name}/WEB-INF/lib"> <include name="*.jar" /> </fileset> </path> <path id="compile.test.classpath"> <!-- Include the Junit JAR file--> <fileset dir="${test.dir}/lib"> <include name="*.jar" /> </fileset> </path> <target name="clean"> <delete dir="${dist.dir}" /> <delete> <fileset dir="${project.classes.dir}"> <include name="**/*Test*.class" /> </fileset> </delete> </target> <target name="prepareDir" depends="clean"> <mkdir dir="${dist.dir}" /> <mkdir dir="${project.classes.dir}" /> </target> <target name="compile" depends="prepareDir" description="Compile Java sources"> <!-- Compile Java classes--> <javac srcdir="${src.dir}" destdir="${project.classes.dir}" optimize="true" debug="on"> </javac> </target> <target name="dist" depends="compile" description="Create Javadoc API documentation"> <!-- Generate the war package --> <jar destfile="${dist.dir}/${project.name}.war" basedir="${project.name}" /> <mkdir dir="${dist.dir}/docs" /> <mkdir dir="${dist.dir}/docs/api" /> <!-- Generate the Java doc api --> <javadoc destdir="${dist.dir}/docs/api"> <classpath refid="compile.classpath" /> <packageset dir="${src.dir}" defaultexcludes="no"> </packageset> </javadoc> </target> <target name="test-compile" depends="compile" description="Compile Java test sources"> <mkdir dir="${test.dir}/classes" /> <!-- Compile Java Test classes--> <javac srcdir="${testsrc.dir}" destdir="${test.classes.dir}/" optimize="true" debug="on"> <classpath refid="compile.classpath" /> <classpath refid="compile.test.classpath" /> <classpath path="${project.classes.dir}" /> </javac> </target> <target name="test-junit" depends="test-compile"> <mkdir dir="${test.dir}/report" /> <!-- Auto run all test cases --> <junit fork="on" printsummary="on" showoutput="true"> <classpath refid="compile.classpath" /> <classpath refid="compile.test.classpath" /> <classpath path="${project.classes.dir}" /> <classpath path="${test.classes.dir}" /> <formatter type="xml" /> <batchtest todir="${test.dir}/report"> <fileset dir="${test.dir}/classes"> <include name="**/*Test*.class" /> </fileset> </batchtest> </junit> <!-- Report the test result--> <junitreport todir="${test.dir}/report"> <fileset dir="${test.dir}/report"> <include name="TEST-*.xml" /> </fileset> <report format="frames" todir="${test.dir}/report" /> </junitreport> </target> </project> |