Recent Changes - Search:



edit SideBar

V2 /


How to do releases

Release Numbers

CONGO uses version numbering of a.b.c.d[-SNAPSHOT].

  • 'd' values are build-releases. Patches for bug fixes and feature inclusion should increement this value.
  • 'c' When patches are completed, and a new feature set is included, we jump 'c' and reset 'd' to 0.
  • 'b' Should be updated only when MAJOR functionality is altered, such as entire new modules, etc.
  • 'a' Should never be changed.
  • '-SNAPSHOT' - appended by the build system for 'on the fly' builds.


  • All development is done against the v2 trunk. (in SVN: / )
  • "current" build numbers are in the pom.xml:
    * The 'current' version in the above notation should be 'above' the current release. Ala, for the above example, the most recent tag/release should be The current version being worked on is '' - that will be the 'next' release.

Generating a release via Hudson

A release should be done when patches are complete, and a build is ready to be punched out to run on a customer-facing site. The following process assumes the same versions as above - IE, is the latest release, is being worked on.

  • Commit all changes against the trunk.
  • Go to - Hudson will do all the branching, tagging, and pom file editing :
    • Click on the project 'congo-v2'
    • Click on 'perform maven release'
    • Click on 'specify release version'
      • Release version should be
      • Development version should be
    • Select Schedule Maven Release Build
  • The new build will be on nimitz in /var/lib/maven/

Generating a release via Maven on the command line

Occasionally Hudson is not available or is acting wonky. Here's the steps to do a build / release on the command line. Details here make the same assumptions as above.

  • Commit all changes against the trunk
  • cd to your working directory (where the pom.xml file is)
  • mvn release:clean
  • mvn release:prepare
    Answer questions that come up - in general, the defaults are fine:
 [INFO] Checking dependencies and plugins for snapshots ... 
 What is the release version for "CONGO"? (com.stonekeep.congo:congo) : 
 What is SCM release tag or label for "CONGO"? (com.stonekeep.congo:congo) congo- : 
 What is the new development version for "CONGO"? (com.stonekeep.congo:congo) : 
 [INFO] Transforming 'CONGO'...
  • The new build will be in the 'target' subdirectory:
 yacht:CONGO v2 trunk dbs$ ls -l target/congo*.war
 -rw-r--r--  1 dbs  staff  24386297 Oct 17 08:49 target/congo-
Edit - History - Print - Recent Changes - Search
Page last modified on October 17, 2011, at 08:51 AM