Differences between revisions 3 and 4
Revision 3 as of 2009-08-24 14:37:52
Size: 2651
Editor: abr
Comment:
Revision 4 as of 2010-03-17 13:12:46
Size: 2655
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
  . 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}}}   . 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}}}
Line 25: Line 25:
  . Create a binary release. Distribution packages should go into the {{{dist/}}} directory. See [:ModuleReleaseStructure: module release structure].   . Create a binary release. Distribution packages should go into the {{{dist/}}} directory. See [[ModuleReleaseStructure| module release structure]].
Line 27: Line 27:
  . Create a Javadoc distribution of the module. Distribution packages should go into the {{{dist/}}} directory. See [:ModuleReleaseStructure: module release structure].   . Create a Javadoc distribution of the module. Distribution packages should go into the {{{dist/}}} directory. See [[ModuleReleaseStructure| module release structure]].
Line 29: Line 29:
  . Create a source distribution of the module. Distribution packages should go into the {{{dist/}}} directory. See [:ModuleReleaseStructure: module release structure].   . Create a source distribution of the module. Distribution packages should go into the {{{dist/}}} directory. See [[ModuleReleaseStructure| module release structure]].

Ant

We use Ant 1.7.1

Project Build File

Each project must include an Ant build.xml file capable of building the entire project.

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 bu recursively calling clean targets in modules
  • compile

    • Compile all Java classes by recursively calling compile targets in modules
  • distclean

    • Restore module to Subversion status - ie. remove all non version controlled files by recursively calling distclean targets in modules
  • doc

    • Compile Java doc and other documentation.
  • release

    • Compile a module release as specified in the module release structure. This target must depend on distclean, release.bin, release.doc, and release.src

  • release.bin

  • release.doc

    • Create a Javadoc distribution of the module. Distribution packages should go into the dist/ directory. See module release structure.

  • release.src

    • Create a source distribution of the module. Distribution packages should go into the dist/ directory. See module release structure.

  • test

    • Run all unit tests by recursively calling test targets in all modules
  • war

    • Optional. Create a war file for the project

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:

  • clean

    • Delete all compiled Java classes
  • distclean

    • Restore module to Subversion status - ie. remove all non version controlled files
  • depends

    • Run the jar targets in all depending modules
  • compile

    • Compile all Java classes. Compiled classes should go into the classes/ directory.

  • jar

    • Roll .jar file(s) from compiled classes. Compiled jar files should go into the dist/ directory.

  • test

    • Run all unit tests
  • war

    • Optional. Bundle the module as a webservice.

Ant (last edited 2010-03-17 13:12:46 by localhost)