Author: gsingers Date: Sun Feb 10 18:49:47 2008 New Revision: 620384 URL: http://svn.apache.org/viewvc?rev=620384&view=rev Log: build.xml changes for testing, compilation, etc.
Modified: lucene/mahout/trunk/build.xml Modified: lucene/mahout/trunk/build.xml URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/build.xml?rev=620384&r1=620383&r2=620384&view=diff ============================================================================== --- lucene/mahout/trunk/build.xml (original) +++ lucene/mahout/trunk/build.xml Sun Feb 10 18:49:47 2008 @@ -46,7 +46,7 @@ <property name="lib" value="lib" /> <!-- mahout source files --> - <property name="src" value="src/main" /> + <property name="src" value="src" /> <!-- Destination for compiled classes and binaries --> <property name="dest" value="build" /> @@ -90,6 +90,37 @@ <property name="junit.output.dir" location="${dest}/test-results"/> <property name="junit.reports" location="${dest}/test-results/reports"/> <property name="junit.includes" value="**/Test*.java,**/*Test.java"/> + <property name="tests.verbose" value="false"/> + + <property name="junit.excludes" value=""/> + <property name="junit.jar" value="junit-3.8.2.jar"/> + <property name="junit-location.jar" value="${lib}/${junit.jar}"/> + <path id="junit-path"> + <pathelement location="${junit-location.jar}"/> + </path> + + <!-- The compilation classpath --> + <path id="compile.classpath"> + <fileset dir="${lib}"> + <include name="*.jar" /> + <exclude name="junit*.jar"/> + </fileset> + </path> + <path id="test.classpath"> + <path refid="junit-path"/> + <path refid="compile.classpath"/> + <pathelement location="${dest}/test-classes"/> + <pathelement location="${dest}/classes"/> + </path> + + + <path id="junit.classpath"> + <path refid="junit-path"/> + <pathelement location="${dest}/test-classes"/> + <pathelement location="${dest}/classes"/> + <path refid="compile.classpath"/> + <pathelement path="${java.class.path}"/> + </path> <!-- Macro for compilation --> <macrodef name="mahout-javac"> @@ -182,22 +213,13 @@ <!-- ===================== COMPILATION-RELATED TASKS ========================= --> <!-- ========================================================================= --> - - <!-- The compilation classpath --> - <path id="compile.classpath"> - <fileset dir="${lib}"> - <include name="*.jar" /> - </fileset> - </path> - <!-- Compile the project. --> <target name="compile" description="Compile the source code." > - - <mahout-javac destdir="${dest}/core" + <mahout-javac destdir="${dest}/classes" classpathref="compile.classpath"> - <src path="${src}/java" /> + <src path="${src}/main/java" /> </mahout-javac> </target> @@ -222,15 +244,63 @@ doctitle="${Name} ${version} API (${specversion})" bottom="Copyright &copy; ${javadoc.years} The Apache Software Foundation" > - <packageset dir="${src}/java"/> - <packageset dir="${src}/webapp/src"/> + <packageset dir="${src}/main/java"/> <link href="${javadoc.link.java}"/> <link href="${javadoc.link.junit}"/> - <link href="${javadoc.link.lucene}"/> <classpath refid="javadoc.classpath"/> </javadoc> </target> + <target name="compile-test" depends="compile"> + <mahout-javac + + destdir="${dest}/test-classes/" classpathref="test.classpath"> + <src path="${src}/test/java"/> + </mahout-javac> + + <!-- Copy any data files present to the classpath --> + <copy todir="${dest}/test-classes"> + <fileset dir="src/test/java" excludes="**/*.java"/> + </copy> + </target> + + + + <target name="test" depends="compile-test" description="Runs unit tests"> + <mkdir dir="${junit.output.dir}"/> + <junit printsummary="off" haltonfailure="no" + errorProperty="tests.failed" failureProperty="tests.failed"> + <classpath refid="junit.classpath"/> + <assertions> + <enable package="org.apache.mahout"/> + </assertions> + + <!-- allow tests to control debug prints --> + <sysproperty key="tests.verbose" value="${tests.verbose}"/> + + <!-- TODO: create propertyset for test properties, so each project can have its own set --> + <sysproperty key="dataDir" file="src/test"/> + <sysproperty key="tempDir" file="${dest}/test"/> + <sysproperty key="java.io.tmpdir" file="${dest}/test"/> + + + <formatter type="xml"/> + <formatter type="brief" usefile="false"/> + <batchtest fork="yes" todir="${junit.output.dir}" unless="testcase"> + <fileset dir="${src}/test/java" includes="${junit.includes}" excludes="${junit.excludes}"/> + </batchtest> + <batchtest fork="yes" todir="${junit.output.dir}" if="testcase"> + <fileset dir="${src}/test/java" includes="**/${testcase}.java"/> + </batchtest> + </junit> + <!-- create this file, then if we don't fail, delete it --> + <!-- this meme makes it easy to tell if contribs have failed later --> + <echo file="${dest}/junitfailed.flag">MAYBE</echo> + <fail if="tests.failed">Tests failed!</fail> + <!-- life would be easier if echo had an 'if' attribute like fail --> + <delete file="${dest}/test/junitfailed.flag" /> + + </target> <target name="dist-jar" description="Creates the Mahout JAR Distribution file." @@ -238,7 +308,7 @@ <mkdir dir="${dist}" /> <mahout-jar destfile="${dist}/${fullnamever}.jar" - basedir="${dest}/core" /> + basedir="${dest}/classes" /> </target>