Oddjob from the source.
Oddjob started life being built with Ant and dependencies manually maintained. The natural progression was then to move to Ivy for dependency management. Eclipse was being used as the IDE and the combination worked pretty well for a few years.
Ivy development appeared to stall for a while and support became broken in Eclipse so the decision was made to move to Maven. Oddjob has slowly been migrating to Maven over the last few years, and all modules will now build with Maven. The big final application build is still done with Ant and Ivy however, because it does things that just don't fit Mavens pattern.
So we support two build systems! Which should you choose? If you're embedding or extending Oddjob then just using Maven is simpler. if you want to build a bespoke Oddjob then you will need the full Ant Ivy Build.
Oddjob source code is spread out in a number of repositories that must be cloned so that they reside in parallel directories. This is historical - in 2002 when Oddjob was started, Eclipse didn't support hierarchical projects so the different modules had to be created in parallel. This initial checkout is a pain, but not so painful as to make it worth changing.
The minimum needed to build a runnable Oddjob using Maven is:
To build Oddjob as a multi module Maven Project use
And delete the modules you don't want.
For the full build you also need the different job modules (Oddballs)
And also:
To build a full distribution of Oddjob - you use Oddjob.
Oddjob must be run with tools.jar on the classpath. On Windows if JAVA_HOME points to a JDK this can be achieved from the command prompt with:
"%JAVA_HOME%"\bin\java -jar run-oddjob.jar -cp "%JAVA_HOME%"\lib\tools.jar
Using Oddjob Explorer open the file /oj-assembly/oddjob.xml.
and Run the top level job.
When the build completes you should find the build artifacts in
the /oj-assembly/work/ojdist
directory.