4 <!-- Ant file for dmcDue -->
5 <!-- Written by Daniele Pizzoni <auouo@tin.it> - 2003 -->
6 <!-- Modified by Antonio, Fabio Di Narzo <antonio.fabio@gmail.com> - 2006,2007 -->
9 <project name="dmcDue" default="jar" basedir=".">
15 <property name="name" value="iDmc"/>
16 <property name="version" value="2.0.7"/>
17 <property name="libVersion" value="0.7.0"/>
20 <property name="src.java" value="src/java"/>
21 <property name="build" value="build"/>
22 <property name="dist" value="dist"/>
23 <property name="dist-win" value="dist-win"/>
24 <property name="javadoc" value="javadoc"/>
25 <property name="doc" value="doc"/>
26 <property name="models" value="models"/>
28 <!-- external sources -->
29 <property name="idmclib.src" location="../idmclib-${libVersion}-Source/build/jidmc"/>
30 <property name="jcommon.src" location="../jcommon-0.9.3/src"/>
31 <property name="jfreechart.src" location="../jfreechart-0.9.18/src"/>
32 <property name="forms.src" location="../forms-1.0.3/src/jforms"/>
33 <property name="log4j.src" location="../logging-log4j-1.2.14/src/java"/>
36 <property name="idmclib.lib.unix" value="${idmclib.src}/jidmclib.so"/>
37 <property name="idmclib.lib.win" value="${idmclib.src}/jidmclib.dll"/>
38 <property name="jar_file" value="${basedir}/${name}.jar"/>
40 <!-- installer resources -->
41 <property name="installer.dir" value="installer"/>
42 <property name="izpack.dir" value="/opt/IzPack"/>
43 <taskdef name="izpack" classpath="${izpack.dir}/lib/compiler.jar"
44 classname="com.izforge.izpack.ant.IzPackTask"/>
53 <target name="init" depends="version">
55 <mkdir dir="${build}"/>
63 description="compiles and creates all the archives (source and binary)"
64 depends="all-linux, all-win"/>
69 <target name="all-linux"
70 description="compiles and creates all the bonary archives"
71 depends="tar-dist, zip-dist, tar-src, zip-src"/>
77 <target name="all-win"
78 description="compiles and creates all the bonary archives"
79 depends="zip-dist-win, zip-src"/>
84 <target name="run-linux" description="run the application" depends="dist">
85 <java jar="${jar_file}" fork="true" dir="${dist}" classpath="${dist}" spawn="true"/>
87 <target name="run-windows" description="run the application" depends="dist-win">
88 <java jar="${jar_file}" fork="true" dir="${dist-win}" spawn="true"/>
94 <target name="compile"
95 depends="init, version"
96 description="compile the java sources in the 'build' directory">
98 <!-- they say fork resolves some problems on Windows -->
109 <exclude name="**/junit/*"/>
110 <exclude name="**/*Test*"/>
113 <dirset dir="${idmclib.src}"/>
114 <dirset dir="${jcommon.src}"/>
115 <dirset dir="${jfreechart.src}"/>
116 <dirset dir="${forms.src}"/>
117 <dirset dir="${log4j.src}"/>
120 <!-- files used by reflection -->
122 srcdir="${jcommon.src}"
130 <include name="org/jfree/resources/JCommonResources.java"/>
131 <include name="org/jfree/ui/about/resources/AboutResources.java"/>
135 srcdir="${jfreechart.src}"
143 <include name="org/jfree/chart/resources/JFreeChartResources.java"/>
144 <include name="org/jfree/resources/JCommonResources.java"/>
147 <!-- copy the localization bundles -->
148 <copy todir="${build}">
149 <fileset dir="${jcommon.src}">
150 <include name="**/LocalizationBundle.properties"/>
152 <fileset dir="${jfreechart.src}">
153 <include name="**/LocalizationBundle.properties"/>
159 <target name="version">
160 <copy file="${basedir}/Version.template"
161 tofile="${basedir}/${src.java}/org/tsho/dmc2/Version.java">
163 <replacetokens begintoken=" " endtoken=" ">
164 <token key="versionAnchor" value=""${version}"" />
176 description="create the jarfile in the base directory">
177 <jar jarfile="${jar_file}"
180 manifest="${src.java}/org/tsho/dmc2/dmc2.manifest">
186 <!-- dist target for non-win32 platforms-->
190 description="populate the linux distribuition directory">
192 <copy failonerror="true"
193 file="${idmclib.lib.unix}/"
197 <copy failonerror="true"
199 tofile="${dist}/${name}-${version}.jar"
202 <copy failonerror="true"
203 file="${basedir}/README"
207 <copy failonerror="true"
208 file="${basedir}/NEWS"
212 <copy failonerror="true"
213 file="${basedir}/COPYING"
217 <copy failonerror="true"
218 file="${basedir}/logo_new.jpg"
222 <mkdir dir="${dist}/doc"/>
223 <fixcrlf srcdir="${doc}"
224 destdir="${dist}/doc"
230 <mkdir dir="${dist}/models"/>
232 <fixcrlf srcdir="${models}"
233 destdir="${dist}/models"
238 <fixcrlf srcdir="${dist}"
244 <fixcrlf srcdir="${dist}"
251 <target name="dist-win"
253 description="populate the windows distribuition directory">
255 <copy failonerror="true"
256 file="${idmclib.lib.win}"
260 <copy failonerror="true"
262 tofile="${dist-win}/${name}-${version}.jar"
265 <copy failonerror="true"
266 file="${basedir}/README"
270 <copy failonerror="true"
271 file="${basedir}/NEWS"
275 <copy failonerror="true"
276 file="${basedir}/COPYING"
280 <copy failonerror="true"
281 file="${basedir}/logo_new.jpg"
285 <mkdir dir="${dist-win}/doc"/>
286 <fixcrlf srcdir="${doc}"
287 destdir="${dist-win}/doc"
292 <mkdir dir="${dist-win}/models"/>
294 <fixcrlf srcdir="${models}"
295 destdir="${dist-win}/models"
300 <fixcrlf srcdir="${dist-win}"
304 <fixcrlf srcdir="${dist-win}"
313 <target name="javadoc">
314 <delete dir="${javadoc}" />
315 <mkdir dir="${javadoc}" />
317 <javadoc sourcepath="."
320 doctitle="Dynamical Model Cruncher 2 (version ${version})">
321 <packageset dir="${src.java}" defaultexcludes="no"/>
328 <!-- clean targets -->
335 <target name="clean-all"
336 depends="clean-build, clean-dist, clean-javadoc, clean-archives"
337 description="clean-build, clean-dist, clean-javadoc, clean-archives"/>
343 <target name="clean-build"
344 description="remove the build directory">
345 <delete dir="${build}"/>
346 <delete file="${src.java}/org/tsho/dmc2/Version.java"/>
352 <target name="clean-dist"
353 description="remove the distribution directory">
354 <delete dir="${dist}"/>
355 <delete dir="${dist-win}"/>
360 <!-- clean-javadoc -->
362 <target name="clean-javadoc"
363 description="remove the javadoc directory" >
364 <delete dir="${javadoc}"/>
368 <!-- clean-archives -->
370 <target name="clean-archives"
371 description="remove the archives (*.bz2, *.zip)" >
373 <fileset dir="${basedir}" includes="*.bz2"/>
374 <fileset dir="${basedir}" includes="*.zip"/>
375 <fileset dir="${basedir}" includes="*.jar"/>
376 <fileset dir="${basedir}" includes="*.exe"/>
384 <target name="clean-stale"
385 description="clean up stale .class files in src" >
387 <fileset dir="${src.java}" includes="**/*.class"/>
393 <!-- archive targets -->
396 <!-- sources patternset -->
397 <patternset id="sources">
398 <exclude name="**/*.aux"/>
399 <exclude name="**/*.dvi"/>
400 <exclude name="**/*.log"/>
401 <exclude name="doc/snapshots/"/>
402 <exclude name="build-eclipse/"/>
403 <exclude name="${javadoc}/"/>
404 <exclude name="${build}/"/>
405 <exclude name="${dist}/"/>
406 <exclude name="${dist-win}/"/>
407 <exclude name="**/.*"/>
408 <exclude name=".git/**"/>
409 <exclude name="**/*.class"/>
410 <exclude name="**/*.o"/>
411 <exclude name="**/*.d"/>
412 <exclude name="**/*.so"/>
413 <exclude name="**/*.dll"/>
414 <exclude name="**/*.jar"/>
415 <exclude name="**/*.tar*"/>
416 <exclude name="**/*.zip"/>
417 <exclude name="**/*.exe"/>
424 <target name="tar-src"
425 description="create the source tar archive">
427 <property name="prefix" value="${name}-${version}"/>
429 <tar destfile="${name}-${version}-src.tar.bz2"
432 <tarfileset dir="${basedir}" prefix="${prefix}">
433 <patternset refid="sources"/>
444 <target name="tar-dist"
446 description="create the distribution tar archive">
448 <property name="prefix" value="${name}-${version}"/>
450 <tar destfile="${name}-${version}-bin.tar.bz2"
453 <tarfileset dir="${dist}" prefix="${prefix}"/>
463 <target name="zip-src"
464 description="create the source zip archive">
466 <zip destfile="${name}-${version}-src.zip">
468 <zipfileset dir="${basedir}"
469 prefix="${name}-${version}">
470 <patternset refid="sources"/>
481 <target name="zip-dist"
482 description="create the linux distribution zip archive"
485 <zip destfile="${name}-${version}-linux.zip">
486 <zipfileset dir="${dist}"
487 prefix="${name}-${version}"
495 <!-- zip-dist-win -->
497 <target name="zip-dist-win"
498 description="create the windows distribution zip archive"
501 <zip destfile="${name}-${version}-win.zip">
502 <zipfileset dir="${dist-win}"
503 prefix="${name}-${version}"
511 <!-- cross-win-installer -->
513 <target name="cross-win-installer"
514 description="create the windows installer package from linux with wine"
517 <copy failonerror="true"
518 file="${basedir}/misc/dmcDue.nsi"
526 <arg value="/opt/NSIS-2.0/makensis.exe"/>
527 <arg value="dmcDue.nsi"/>
530 <move failonerror="true"
534 <fileset dir="${dist-win}">
535 <include name="**/*.exe"/>
541 <!-- linux-win installer -->
543 <target name="linux-win-installer"
544 description="create the linux-windows installer package from linux with IzPack"
546 <izpack input="${installer.dir}/install.xml" output="${installer.dir}/${name}-${version}-install.jar"
547 installerType="standard" basedir="${installer.dir}" izPackDir="${izpack.dir}/"/>