Apache Ant ( is used for scripting DrJava builds. See the Ant section of Getting Started for installation instructions and the Getting Started tutorial for an introduction. The Ant Manual is a great source of documentation.

Ant scripts used to build DrJava subtrees are all based on a template located at trunk/misc/build-template.xml. This allows multiple scripts to share a common interface and parameters without resorting to complex redirection between multiple scripts. Globally-useful changes to any script should be merged back into the template and them propagated to each script (diff tools like OS X's FileMerge are ideal for this task). The goal of the build process's design is to allow a user to download and build a DrJava subtree with minimal setup or fuss. As a result, many build tools are bundled with the tree (in lib/buildlib) and assumptions about the environment used to run Ant (such as the Java version, class path, or available memory) are minimized.

To provide some extended features in Ant, a few libraries are included in lib/buildlib: ant-contrib.jar is an independent project providing feature additions like a for loop and simple math operations; cenquatasks.jar provides an extendclasspath command that allows JUnit to be run from Ant without any user setup (there may be a better workaround in recent versions of Ant . . .); and plt-ant.jar provides our own Ant extensions, compiled from trunk/misc/plt-ant.