DataNucleus can be easily developed using Maven2. You also require JDK1.5, 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.
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. The most common requirement that it
fulfils is to provide stubs for JDBC4 (JDK1.6) that DataNucleus builds against.
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.
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.
The "test.framework" project (in SVN under "platform/test.framework/trunk") contains the
basic classes used for testing DataNucleus. The first thing you need to do is build this.
To build the "test.framework" using Maven2, you simply type (from the test.framework project)
This builds the jar under "target" and installs it into your Maven2 repository.
The "test.samples" project (in SVN under "platform/test.samples/trunk") contains a series of
basic model samples for use in testing DataNucleus. These are the classes to be persisted,
but do not include the information about how they will be persisted (that is specified in the
individual test suite). The first thing you need to do is build this.
To build the "test.samples" using Maven2, you simply type (from the test.samples project)
This builds the jar under "target" and installs it into your Maven2 repository.
We currently don't support use of Maven2 for running the DataNucleus end to end tests.
If you want to help with removing this limitation please check against JIRA for the issue.
For details of running the Test Suites using Maven1 please consult the
unit tests documentation.