How-To Release JWebUnit with Maven

This todo list if a reminder for JWebUnit release manager.

Last checks and updates

  • Ensure your repository is up to date by running: git update
  • Edit src/changes/changes.xml to set the release date instead of "unknow"
  • Update JWebUnit latest version in src/site/xdoc/index.xml, src/site/xdoc/installation.xml, jwebunit-htmlunit-plugin/src/site/xdoc/index.xml, jwebunit-webdriver-plugin/src/site/xdoc/index.xml
  • Commit the changes

Now check that in your settings.xml (usually in ~/.m2) the JWebUnit server details are correct:

    <server>
      <id>github</id>
      <password>oauth token</password>
    </server>

    <server>
      <id>sonatype-nexus</id>
      <username>henryju</username>
      <password>YYYYYYYYYY</password>
    </server>
Don't forget to put your own GitHub OAuth token. Concerning sonatype-nexus you need the username and password from http://oss.sonatype.org/ (see OSS Repository Hosting) for instructions on how to set up your configuration like GPG signature. Reminder: in order to have access granted to a new JWebUnit developper, ask on OSSRH-384.

Preparing the release (tag and update pom)

This process is automatically done by maven-release-plugin.

mvn release:prepare
The plugin will ask for next release version, tag name and next development version. Most of the time defaults are ok.

Now the tag is done in Git and the master is ready for next developments. It's time to actually do the release.

Perform the release (deploy artifacts and site)

The release process is done by maven-release-plugin:

mvn release:perform -Darguments="-Dgpg.passphrase=XXXXXXXXXX"

This will automatically checkout the tag from Git in target/checkout folder then run mvn deploy site site:stage. Artifacts will be staged in http://oss.sonatype.org. Site will also be staged.

Now connect to http://oss.sonatype.org and go to Staging Repositories section. There you can close and release the repository. If everything is fine the artifacts will be synced to Maven central.

To finalize site deployment go to target/checkout and run mvn scm-publish:publish-scm

Dealing with non-maven bundle

We also provide a bundle for non Maven users.

cd target
cd checkout
mvn package assembly:assembly
                    
This will create a release bundle in [target/checkout/]target/jwebunit-XX-release.zip.

You can upload this bundle on GitHub release page.

Communication

Post an email on the user mailing list.

Go to Bed

It's getting late! Go to bed!