1aa50d23d1a98332d59c01b4051a845d70f54b45
[fits.git] / build.xml
1 <?xml version="1.0"?>
2 <project name="fits" default="all" basedir=".">
3   <target name="init" description="Sets build properties">
4     <property name="src" value="${basedir}/src"/>
5     <property name="build" value="${basedir}/build"/>
6     <property name="doc" value="${basedir}/doc"/>
7     <path id="project.class.path">
8     </path>
9     <path id="build.class.path">
10       <!--pathelement location="JUNIT.JAR"/-->
11       <pathelement location="/usr/share/junit-4/lib/junit.jar"/>
12     </path>
13     <path id="test.class.path">
14       <pathelement location="${build}"/>
15       <pathelement location="/usr/share/junit-4/lib/junit.jar"/>
16       <pathelement location="/usr/share/hamcrest-core/lib/hamcrest-core.jar"/>
17     </path>
18   </target>
19   <target name="all" depends="jar,javadoc"
20           description="Pseudo-target that builds JAR and Javadoc">
21   </target>
22   <target name="build" depends="init"
23           description="Compiles the classes">
24     <mkdir dir="${build}"/>
25     <javac destdir="${build}" srcdir="${src}" debug="true"
26            deprecation="true" includeantruntime="false">
27       <classpath refid="project.class.path"/>
28       <classpath refid="build.class.path"/>
29     </javac>
30     <copy todir="${build}">
31       <mappedresources>
32         <fileset dir="${src}" includes="**/test/test.fits*"/>
33         <!--fileset dir="${src}/nom/tam/fits/comments.txt"/-->
34         <globmapper from="*" to="*"/>
35       </mappedresources>
36     </copy>
37   </target>
38   <target name="test" depends="build">
39     <junit>
40       <classpath refid="project.class.path" />
41       <classpath refid="test.class.path"/>
42       <formatter type="brief" usefile="false" />
43       <batchtest>
44         <fileset dir="${build}" includes="**/test/*.class" />
45       </batchtest>
46     </junit>
47   </target>
48   <target name="javadoc" depends="init"
49           description="Generates Javadoc API documentation">
50     <mkdir dir="${doc}/api"/>
51     <javadoc packagenames="*"
52              sourcepath="${src}" destdir="${doc}/api"
53              author="true"       version="true"
54              use="true"          private="true"/>
55   </target>
56   <target name="jar" depends="build"
57           description="Builds a project JAR file">
58     <jar basedir="${build}" jarfile="${basedir}/fits.jar">
59       <manifest>
60         <attribute name="Version" value="1.06.0"/>
61         <attribute name="Main-Class"
62                    value="fits"/>
63       </manifest>
64     </jar>
65   </target>
66   <target name="clean" depends="init"
67           description="Erase all generated files and dirs">
68     <delete dir="${build}" verbose="true"/>
69     <delete dir="${doc}/api" verbose="true"/>
70     <delete file="fits.jar" verbose="true"/>
71   </target>
72 </project>