The build module for Oddjob
This module contains the Oddjob application build configuration that is used to create the binary and source distributions found on Sourceforge.
Additionally, the pom.xml here provides a Maven multi-module build for Oddjob which is used
for the daily development of Oddjob.
The full application build uses a combination of Maven and Ant. It is run from oddjob using this oddjob.xml root configuration, however the assemble-oddjob.xml file does most of the work, including defining which modules are included in the application. The modules are expected to exist in sibling directories in the file system.
The clean and install phases of the build are passed through to
an oj-assemble.xml Oddjob configuration
in each module that can chose how to build for their module, such as running Maven.
The source and binary distributions are still built with Ant and a build.xml file
must exist in each module with a dist-bin and a dist-src target.
The API doc and reference are built using separate configurations assemble-javadoc.xml and assemble-reference.xml which must be modified to add new modules.
To build the Markdown references that are on GitHub are generated by manually running
mvn javadoc:javadoc@reference
In each module. Oddjob has its own definition that replaces the
parent default which creates the reference for both Oddjob
and Arooa. This target is defined in oj-parent.
To run Oddjob as an app capable of building Oddjob:
exec:exec@app -N
Run in oj-assembly
- Check dependencies:
versions:display-dependency-updates - Check plugins:
versions:display-plugin-updates - Update version:
versions:set -DnewVersion=1.7.0 -DprocessAllModules