update to 0.9.7pre
[debian/openrocket] / build.xml
index 97f5a4e41c299b35b95b279870ba79b3288438aa..394aea4ee87ea6393cdcb1b7f97cf8291b098f6b 100644 (file)
--- a/build.xml
+++ b/build.xml
        
        <path id="test-classpath">
                <path refid="classpath"/>
+               <pathelement location="${basedir}"/>
                <pathelement location="${build-test.dir}"/>
                <pathelement location="${classes.dir}"/>
-               <pathelement location="${ant.library.dir}/junit4.jar"/>
+<!--           <pathelement location="${ant.library.dir}/junit4.jar"/> -->
+               <pathelement location="lib-test/junit-4.7.jar"/>
        </path>
        
 
@@ -51,9 +53,9 @@
        <target name="build">
                <mkdir dir="${classes.dir}"/>
                <echo>Compiling main classes</echo>
-               <javac srcdir="${src.dir}" destdir="${classes.dir}" excludes="${main-dir}/*" classpathref="classpath"/>
+               <javac debug="true" srcdir="${src.dir}" destdir="${classes.dir}" excludes="${main-dir}/*" classpathref="classpath"/>
                <echo>Compiling startup classes</echo>
-               <javac srcdir="${src.dir}/${main-dir}" destdir="${classes.dir}" source="1.4" classpathref="classpath"/>
+               <javac debug="true" srcdir="${src.dir}/${main-dir}" destdir="${classes.dir}" source="1.4" classpathref="classpath"/>
                <copy file="build.properties" todir="${dist.dir}"/>
        </target>
        
@@ -88,7 +90,7 @@
                        <fileset dir="." includes="*">
                                <type type="file"/>
                        </fileset>
-                       <fileset dir="." includes="datafiles/ lib/ pix/ src/ test/"/>
+                       <fileset dir="." includes="datafiles/ lib/ lib-test/ pix/ src/ test/"/>
                </copy>
                <zip destfile="${dist.src}" basedir="${build.dir}" includes="${pkgname}/"/>
                <delete dir="${build.dir}/${pkgname}"/>
        
        
        <!-- DIST-BIN -->
-       <target name="dist-bin" depends="checktodo,clean,unittest,jar">
+       <target name="dist-bin" depends="check,clean,unittest,jar">
                <move file="${jar.file}" tofile="${dist.bin}"/>
        </target>
 
        </target>
        
        
+       <!-- CHECK -->
+       <target name="check" depends="checktodo,checkascii"/>
+       
        <!-- CHECK TODOs -->
+       <target name="todo" depends="checktodo"/>
        <target name="checktodo">
                <tempfile property="todo.file" prefix="checktodo-"/>
                <echo>Checking project for critical TODOs.</echo>
                        <fileset dir="${src.dir}">
                            <include name="**/*.java"/>
                        </fileset>
+                       <fileset dir="${src-test.dir}">
+                           <include name="**/*.java"/>
+                       </fileset>
                        <filterchain>
                                <linecontainsregexp>
                                        <regexp pattern="TODO:.*CRITICAL"/>
@@ -146,15 +155,41 @@ ${criticaltodos}</fail>
        </target>
        
        
+       <!-- CHECK TODOs -->
+       <target name="ascii" depends="checkascii"/>
+       <target name="checkascii">
+               <tempfile property="ascii.file" prefix="checkascii-"/>
+               <echo>Checking project for non-ASCII characters.</echo>
+               <concat destfile="${ascii.file}">
+                       <fileset dir="${src.dir}">
+                           <include name="**/*.java"/>
+                       </fileset>
+                       <fileset dir="${src-test.dir}">
+                           <include name="**/*.java"/>
+                       </fileset>
+                       <filterchain>
+                               <linecontainsregexp>
+                                       <regexp pattern="\P{ASCII}"/>
+                               </linecontainsregexp>
+                       </filterchain>
+               </concat>
+               <loadfile srcfile="${ascii.file}" property="nonascii"/>
+               <delete file="${ascii.file}"/>
+               <fail if="nonascii">Non-ASCII characters exist in project:
+${nonascii}</fail>
+               <echo>No non-ASCII characters in project.</echo>
+       </target>
+       
+       
        <!--  Unit tests  -->
        <target name="unittest" description="Execute unit tests" depends="build">
                <echo>Building unit tests</echo>
                <mkdir dir="${build-test.dir}"/>
-               <javac srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath"/>
+               <javac debug="true" srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath"/>
                
                <echo>Running unit tests</echo>
                <mkdir dir="tmp/rawtestoutput"/>
-               <junit printsummary="true" failureproperty="junit.failure">
+               <junit fork="yes" forkmode="once" printsummary="true" failureproperty="junit.failure">
                        <classpath>
                                <path refid="test-classpath"/>
                                <path location="${basedir}"/>
@@ -162,6 +197,7 @@ ${criticaltodos}</fail>
                        <batchtest todir="tmp/rawtestoutput">
                                <fileset dir="${build-test.dir}">
                                        <include name="**/*Test*.class" />
+                                       <exclude name="**/*$*.class" />
                                        <exclude name="Test.class" />
                                </fileset>
                                <formatter type="xml"/>
@@ -171,7 +207,10 @@ ${criticaltodos}</fail>
                        <fileset dir="tmp/rawtestoutput"/>
                        <report todir="tmp/test-reports"/>
                </junitreport>
-               <fail if="junit.failure" message="Unit test(s) failed.  See reports!"/>
+               <fail if="junit.failure" message="Unit test(s) failed.  See report in ${basedir}/tmp/test-reports/index.html"/>
+               <echo>
+       Unit tests passed successfully.
+               </echo>
        </target>
     
 </project>
\ No newline at end of file