Building DbUnit is quite simple. You need the following software installed:
Once you have them all, you can build DbUnit by just typing mvn! Anyway, the items below describe every step.
If you wish to work on the latest DbUnit source code, you also may want to install a Subversion client.
DbUnit includes a dependency on the Oracle JDBC driver, which is not available in a public Maven repository. You must download the JAR manually and install it into your local Maven repository.
Note: This dependency is required to compile DbUnit. It is not required to run DbUnit, unless you're actually using Oracle.
mvn install:install-file \ -Dfile=ojdbc14.jar \ -DgroupId=com.oracle \ -DartifactId=ojdbc14 \ -Dversion=10.2.0.4.0 \ -Dpackaging=jar \ -DgeneratePom=true
(If you're using Windows, you need to put the whole command on one line, without the backslashes.)
Run mvn site:site in the command line; the site will be available on target/site/index.html. Note that you might get an OutOfMemoryExceptionError; if that happens, you must increase the heap size through the MAVEN_OPTS variable (for instance, on Unix systems, you could run MAVEN_OPTS=-mx512M mvn site:site).
As DbUnit uses Maven, it is not necessary to store IDE-specific information in the source repository. Instead, these meta-data can be dynamically generate by Maven. For instance, to create an Eclipse project, it is just a matter of typing mvn eclipse:eclipse. See more details on Maven Eclipse Plugin, Mevenide for NetBeans, and Maven IDEA plugin respectively. Further the m2eclipse Plugin might be of interest to you
If you are building DbUnit in order to contribute a patch, it is necessary to compile it using Java SE 1.4, which takes 3 adittional steps:
The tasks below describe how to maintain DbUnit. Some of these tasks will use ssh to upload files to SourceForge, so it is necessary to setup your environment to allow it (typically using ssh-agent - see more details on SourceForge). Also notice that in 2008 SourceForge changed the way it provides shell access, so you need to create a temporary shell for your user before using ssh (see instructions here.
2009-09-28 TODO: The two links above are dead. This section needs to be revised.
Once new code is incorporated in the SVN code, it is necessary to update the Maven 2 repository with new snapshots, and also update the site. These 2 tasks can be done with a simple command:
mvn -Pofficial clean source:jar javadoc:jar deploy site:site site:deploy
Cutting a release requires the following steps: creating a SVN tag, generating the artifacts, updating the site, uploading the artifacts into SourceForge, uploading the artifacts on ibiblio, and sending the announcement emails.
Fortunately, most of the steps can be automated by Maven. The first 3 steps can be achieved using Maven Release Plugin, as follow:
mvn -Pofficial release:prepare
and then:
mvn -Pofficial release:perform
That last command has created all necessary files for the fourth and fifth steps in the target/checkout/target directory. So, for the fourth step, log in to SourceForge and upload the following files:
And for the fifth step, create a Jira request and upload the XXX/target/dbunit-RELEASE-bundle.jar) file (see Guide to uploading artifacts to The Central Repository for detailed instructions). NOTE: it is also necessary to create dbunit-RELEASE.tar.gz and dbunit-RELEASE.zip - I think Maven does that, but could not test by the time of the 2.2 release.
The final step can also be done by Maven, using the Maven Changes Plugin:
mvn changes:announcement-mail
Note that it is nice to change the release's introduction message first - look for the plugin's introduction parameter in the pom.xml; please change such an element before tagging the release.