This todo list is a reminder for JSOG release manager.

Thanks to the JWebUnit project for the information, which is a near-verbatim copy of their release how-to documentation.

Last checks and updates

  • Ensure you repository is up to date by running: svn update

Now check that in your settings.xml (usually in $M2_HOME/conf or better in ~/.m2) JSOG details are correct:

<server>
  <id>jsog-website</id>
  <username>jeffrodriguez,jsog</username>
  <password>XXXXXXXX</password>
</server>

<server>
  <id>jsog-m2-repo</id>
  <username>jeffrodriguez,jsog</username>
  <password>XXXXXXXX</password>
</server>

Don't forget to put your own sourceforge account and password.

Preparing the release (tag and update pom)

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

mvn release:prepare -Dusername=jeffrodriguez -Dpassword=XXXXXX

Don't forget to put your own sourceforge account and password. 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 SVN and the trunk is ready for future development. It's time to actually do the release.

Perform the release (deploy artifacts and site)

First you need to activate a time-limited shell in Sourceforge to allow upload by SCP. On Linux you can use:

ssh jeffrodriguez,jsog@shell.sourceforge.net create

On Windows you can use:

plink jeffrodriguez,jsog@shell.sourceforge.net create

Now the process is done by maven-release-plugin.

mvn release:perform

This will automatically checkout the tag from SVN in target/checkout folder then run mvn deploy site-deploy. Artifacts will be uploaded in http://jsog.sourceforge.net/m2-repo. The site will also be uploaded.

Now close your Sourceforge shell:

  ssh jeffrodriguez,jsog@shell.sourceforge.net shutdown

(Linux)

plink jeffrodriguez,jsog@shell.sourceforge.net shutdown

(Windows)