Bookmarks
- Official website: http://ant.apache.org/
- Manual: http://ant.apache.org/manual/index.html
- Tasks: http://ant.apache.org/manual/CoreTasks/
- Types: http://ant.apache.org/manual/CoreTypes/
- Path-like structures: http://ant.apache.org/manual/using.html#path
- Apache ant best pratices: http://www.informit.com/articles/article.aspx?p=519946
Example of a build.xml
<code Xml>
<project name="MyProject" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
</code>
Notes
Java task redirect output (to avoid ant’s prefix)
<java class="project.entry" output="dev/tty"/>
Note: only on unix-like systems.
Note: you can type “tty” or “w” for the name of the terminal you are using. (http://www.cyberciti.biz/faq/linux-unix-find-tty-name/)
Postpone decisions
<target id="XXX" if="OOO" /> <!-- this target will run if OOO is set --> <target id="XXX" unless="OOO" /> <!-- this target will not run if OOO is set -->
Flow of control
Reference: click here