[Home] [Index] [Next]

Building Oddjob

Oddjob from the source.

Build Systems

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.

Source Code

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:

oj-parent
Oddjob Parent POM
arooa
The component framework
oddjob
Oddjob and some basic jobs

To build Oddjob as a multi module Maven Project use

oj-assembly
The Maven multi module POM, and also the main configuration for the Ant build.

And delete the modules you don't want.

Full Build

For the full build you also need the different job modules (Oddballs)

oj-ant
Ant jobs
oj-hsql
Ant jobs
oj-net
FTP jobs
oj-mail
Mail jobs
oj-web
The Web Front End

And also:

oj-assembly
The bespoke Doclet to build the Reference.
oj-examples
Lots of Examples, but also the source for the User Guide and this Developer Guide

Full Build

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.


[Home] [Index] [Next]