Install Jakarta Ant 1.5.1: Please see the official Jakarta Ant website for more information and the 1.5.1 distribution. This release is source-compatible with Ant 1.3 and Ant 1.4, but the task sources must be compiled with those versions of the Ant libraries to be used under those versions of Ant. Sources are available under the Eclipse Public License v. 1.0 at http://eclipse.org/aspectj.
In Ant 1.5, third-party tasks can be declared using a taskdef entry in the build script, to identify the name and classes. When declaring a task, include the aspectjtools.jar either in the taskdef classpath or in ${ANT_HOME}/lib where it will be added to the system class path by the ant script. You may specify the task script names directly, or use the "resource" attribute to specify the default names:
<taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>
The current resource file retains the name "ajc" for the Ajc10 task, and uses "iajc" for the AspectJ post-1.1 task.
In Ant 1.6, third-party tasks are declared in their own namespace using antlib.xml. For example, the following script would build and run the spacewar example, if you put the script in the examples directory and aspectjtools.jar in the ${ANT_HOME}/lib directory.
<project name="aspectj-ant1.6" default="spacewar" xmlns:aspectj="antlib:org.aspectj" basedir="."> <target name="spacewar"> <aspectj:iajc argfiles="spacewar/debug.lst" outjar="spacewar.jar" classpath="../../lib/aspectjrt.jar" /> <java classname="spacewar.Game" classpath="spacewar.jar:../../lib/aspectjrt.jar"/> </target> </project>
For more information on using Ant, please refer to Jakarta's documentation on integrating user-defined Ant tasks into builds.