updates
[debian/openrocket] / build.xml
1 <project name="OpenRocket" basedir=".">
2
3         <property file="build.properties" />
4         
5         <property name="src.dir"     value="src"/>                      <!-- Source directory -->
6         <property name="build.dir"   value="build"/>            <!-- Build directory -->
7         
8         <!-- Distribution directory, from which stuff is jar'ed -->
9         <property name="dist.dir"    value="${build.dir}/dist"/> 
10         <property name="test.dir"    value="${build.dir}/test"/>
11         
12         <property name="classes.dir" value="${dist.dir}"/>      <!-- Directory for classes -->
13         <property name="jar.dir"     value="${build.dir}/jar"/> <!-- Directory for built jar's -->
14         <property name="lib.dir"     value="lib"/>                              <!-- Library source directory -->
15
16         <property name="jar.file"    value="${jar.dir}/${ant.project.name}.jar"/>
17         <property name="dist.bin"    value="${jar.dir}/${ant.project.name}-${build.version}.jar"/>
18         <property name="dist.src"    value="${jar.dir}/${ant.project.name}-src-${build.version}.zip"/>
19         
20         <!-- The main class of the application -->
21         <property name="main-class"  value="net.sf.openrocket.startup.Startup"/>
22         <property name="main-dir" value="net/sf/openrocket/startup"/>
23
24         
25         <!-- Classpath definition -->
26         <path id="classpath">
27                 <fileset dir="${lib.dir}" includes="**/*.jar"/>
28         </path>
29         
30         
31         
32         
33         <!-- CLEAN -->
34         <target name="clean">
35                 <delete dir="${build.dir}"/>
36         </target>
37                 
38         
39         <!-- BUILD -->
40         <target name="build">
41                 <mkdir dir="${classes.dir}"/>
42                 <echo>Compiling main classes</echo>
43                 <javac srcdir="${src.dir}" destdir="${classes.dir}" excludes="${main-dir}/*" classpathref="classpath"/>
44                 <echo>Compiling startup classes</echo>
45                 <javac srcdir="${src.dir}/${main-dir}" destdir="${classes.dir}" source="1.4" classpathref="classpath"/>
46         </target>
47         
48         
49         <!-- JAR -->
50         <target name="jar" depends="build">
51                 <copy todir="${dist.dir}/">
52                         <fileset dir="." includes="LICENSE.TXT README.TXT build.properties" />
53                         <fileset dir="." includes="datafiles/ pix/" />
54                 </copy>
55                 <mkdir dir="${jar.dir}"/>
56                 <jar destfile="${jar.file}" basedir="${dist.dir}">
57                         <manifest>
58                                 <attribute name="Main-Class" value="${main-class}"/>
59                                 <attribute name="SplashScreen-Image" value="pix/splashscreen.png"/>
60                         </manifest>
61                         <zipfileset src="lib/miglayout15-swing.jar" />
62                         <zipfileset src="lib/jcommon-1.0.16.jar" />
63                         <zipfileset src="lib/jfreechart-1.0.13.jar" />
64                 </jar>
65         </target>
66         
67         
68         <!-- DIST-SRC -->
69         <target name="dist-src" depends="clean">
70                 <echo>                  
71                 Building source distribution
72                 </echo>
73                 <mkdir dir="${jar.dir}"/>
74                 <zip destfile="${dist.src}">
75                         <!-- Base directory: -->
76                         <fileset dir="." includes="*">
77                                 <type type="file"/>
78                         </fileset>
79                         <fileset dir="." includes="datafiles/ lib/ pix/ src/"/>
80                 </zip>
81         </target>
82         
83         
84         <!-- DIST-SRC-TEST -->
85         <target name="dist-src-test" depends="dist-src">
86                 <echo>
87                 Testing source distribution
88                 </echo>
89                 <delete dir="${test.dir}"/>
90                 <mkdir dir="${test.dir}"/>
91                 <unzip dest="${test.dir}" src="${dist.src}"/>
92                 <ant dir="${test.dir}" antfile="build.xml" target="jar"/>
93                 <delete dir="${test.dir}"/>
94                 <echo>
95                 Test successful
96                 </echo>
97         </target>       
98         
99         
100         <!-- DIST-BIN -->
101         <target name="dist-bin" depends="clean,jar">
102                 <move file="${jar.file}" tofile="${dist.bin}"/>
103         </target>
104
105         
106         <!-- DIST -->
107         <target name="dist" depends="dist-bin,dist-src,dist-src-test">
108                 <echo>Distribution ${build.version} (${build.source}) built into directory ${jar.dir}</echo>
109         </target>
110         
111 </project>