Release Process

The following process should be followed when a release is made:

  • Check that the PicoContainer Roadmap or NanoContainer Roadmap have resolved all scheduled issues. If not, resolve them, or schedule remaining issues to a future version.
  • Send email to the development mailing list announcing a version control freeze for tagging.
  • Check out fresh working copy of CVS module you're going to tag.
  • Set the release version number in Maven project.xml. For example, 1.0-alpha-1-SNAPSHOT would become 1.0-alpha-1.
  • Make sure none of the external jar dependencies are SNAPSHOT dependencies, but releases or timestamped versions (so the release can be built in the future).
  • Perform a successful build and test suite execution, and run the clean target to remove any generated files: maven jar:install clean
  • Update http://docs.codehaus.org/display/PICO/Download and add entries for the version you're about to release.
  • Commit your changes to the version control repository.
  • Wait for DamageControl to complete (check on http://builds.codehaus.org).
  • Go to the deployed site's download page and verify that the downloads work: PicoContainer Downloads or NanoContainer Downloads.
  • Tag the relevant CVS modules (site, pico, picoextras) via cvs -q tag RELEASE_VERSION_MODIFIER. An example release tag is PICOCONTAINER_RELEASE_1_0_ALPHA_1. (Since both PicoContainer and NanoContainer are in the same source tree, it makes sense to have a prefix).
  • Set the next development version number in project.xml (/project/currentVersion and /project/versions) and commit the change to the version control repository. For example, 1.0-alpha-1 would become 1.0-alpha-2-SNAPSHOT.
  • Update any other projects you control that depend on the released project. When PicoContainer is released, NanoContainer should be updated to depend on PicoContainer's latest snapshot.
  • Mark the version as released in JIRA: Release PicoContainer or Release NanoContainer.
  • Make sure JIRA has versions matching the version now declared in project.xml PicoContainer versions or NanoContainer versions.
  • Send email to the development mailing list announcing the release, with a link to http://www.picocontainer.org/Download.
  • Update the Codehaus Blog (if you have access to it) and announce the release.
  • If this is a major release, also send announcements to TheServerside.com, FreshMeat.net and JavaLobby.org