Building Jaxen

Compiling

Jaxen's build system is officially Maven 1.0.2. However version 1.1 also seems to work. To compile Jaxen, install Maven. Then at the shell prompt inside the top-level jaxen directory, type "maven java:compile":

$ maven java:compile

You'll likely see some deprecation warnings. Don't worry about these. They're internal to jaxen, and do not indicate bugs.

To run the unit tests, type "maven test":

$ maven test

To build a jar file at the shell prompt type "maven jar":

$ maven jar

This runs the unit tests as well. If any are failing and you still want to build a jar file, use the -Dmaven.test.failure.ignore=true option:

$ maven -Dmaven.test.failure.ignore=true jar

To generate javadoc, type "maven javadoc":

$ maven javadoc

To generate the complete documentation for the site, including code coverage measurements, static code analysis, and more, type "maven site":

$ maven site

In all three cases the output appears in the target folder.

To remove build artifacts, type "maven clean":

$ maven clean

Publishing a Release

To prepare jaxen for release:

  1. Tag the release in Subversion.
  2. Generate the release files with maven dist. Depending on hardware, this will take 20-30 minutes.
  3. Using a WebDAV client, open https://dav.codehaus.org/dist/jaxen/. (In the Mac OS X Finder, this is Go/Connect to Server...)
  4. Copy the .zip and .tar.gz files from target/distributions to https://dav.codehaus.org/dist/jaxen/distributions.
  5. Copy the .jar file from target to https://dav.codehaus.org/dist/jaxen/jars/.
  6. Copy the .pom file from target to https://dav.codehaus.org/dist/jaxen/poms/.
  7. Using the Mac Finder, or another WebDAV client, open https://dav.codehaus.org/jaxen/.
  8. Copy all files from target/docs into this directory, overwriting the existing files.
  9. File a Maven bug report about the new POM so it can be copied over to IBiblio.

Note: maven dist:deploy no longer works.