Ant
We use Ant 1.7
Module Build File
Each module must include an Ant build.xml file capable of building the entire module. However the code should be organised to be compilable from IDEA as well as Ant.
The build.xml file must include the following targets:
all (default target)
Must depend on release. If the module contains anything not distributed with release target that must be build as well. As a rule of thumb this target should "do what I need".
clean
- Delete all compiled Java classes
compile
Compile all Java classes. Compiled classes should go into the classes/ directory.
distclean
- Restore module to Subversion status - ie. remove all non version controlled files
doc
- Compile Java doc and other documentation.
jar
Roll .jar file(s) from compiled classes. Compiled jar files should go into the lib/ directory.
release
Compile a module release as specified in the [:ModuleReleaseStructure: module release structure]. This target must depend on distclean, release.bin, release.doc, and release.src
release.bin
Create a binary release. Distribution packages should go into the dist/ directory. See [:ModuleReleaseStructure: module release structure].
release.doc
Create a Javadoc distribution of the module. Distribution packages should go into the dist/ directory. See [:ModuleReleaseStructure: module release structure].
release.src
Create a source distribution of the module. Distribution packages should go into the dist/ directory. See [:ModuleReleaseStructure: module release structure].
test
- Run all unit tests
Global Project Build File
At some point (when we want to make releases) we need a global project Ant file. The specification of this has been punted for now.