DataNucleus can be easily developed using Maven2.
You also require JDK1.6 (Enhancer/JPA plugins need this - JDK1.5 for the rest),
an SVN client (to download DataNucleus) and an editor.
DataNucleus is split into several Maven2 projects and you need these building in a particular
order due to dependencies.
The "local.repository" project (in SVN under "platform/local.repository/trunk") provides all
jars required by DataNucleus in a Maven1 style repository layout. It is referenced by all
DataNucleus projects and so you need this to be present. You don't need to build anything here.
Note that if using Maven2 you can refer to this repository specifying the repository layout
as
legacy
.
The DataNucleus "core" (in SVN under "platform/core/trunk") project is the root of all
DataNucleus projects and is the primary requirement for development. You then simply type
(from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
The "thirdparty" project (in SVN under "platform/thirdparty/trunk") contains stubs for third
party libraries that may be needed when building DataNucleus.
This provides for things like JDBC4 (JDK1.6), and Oracle Coherence allowing building of
the
datanucleus-cache
and
datanucleus-rdbms
plugins.
To build the "thirdparty" using Maven2, you simply type (from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
The "store.rdbms" project (in SVN under "platform/store.rdbms/trunk") provides persistence
to RDBMS datastores, and builds on top of "core". It requires "thirdparty" to be built.
To build the "store.rdbms" using Maven2, you simply type (from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
The "store.db4o" project (in SVN under "platform/store.db4o/trunk") provides persistence
to DB4O datastores, and builds on top of "core".
To build the "store.db4o" using Maven2, you simply type (from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
When building "enhancer" (in SVN under "platform/enhancer/trunk") using Maven2, you need
"core" to be built. You then simply type (from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
The "jpa" project (in SVN under "platform/jpa/trunk") provides support for JPA (in
AccessPlatform 1.1), and builds on top of "core". Note that in AccessPlatform 1.0 this
plugin is called "java5".
To build the "jpa" using Maven2, you simply type (from this project)
This builds the jar under "target" and installs it into your Maven2 repository.
When building other DataNucleus projects (in SVN under "platform") you follow the same
instructions as shown above. That is, download the project, and type (from that project)
This builds the plugin jar under "target" and installs it into your Maven2 repository.
If you wanted to build all plugins for AccessPlatform 1.0 you can do this via a shell
script stored in SVN at
datanucleus/platform/build_accessplatform_1_0.sh
.
Please note that to use this you must have checked out the "platform" projects in
the same layout as SVN.
Similarly to build all plugins for AccessPlatform 1.1 you can do this via a shell
script stored in SVN at
datanucleus/platform/build_accessplatform_1_1.sh
.