Making a release

Projects

Not all projects are subject to a full release. The j2me-pom project for example does not have a changelog nor a site, nor is it released on SourceForge. The btw-main project is a simple snapshot of the main site - it will always stay at 1.0 version. Other projects are released as described below.

Release steps

Let's say that we have a 0.4-SNAPSHOT version in trunk. The following steps should be used to create a release:

  • Update the changes.xml file of the project P being released. This is a changelog file, it should be updated regularly.
  • Update the changes.xml file in the btw-main project with a short notice that P has been released.
  • Commit/checkout everything :)
  • Please make sure that there is the tags/ directory next to trunk/ directory in SVN repository, or the following will not work. Go to the P's directory and execute mvn release:prepare . Next project version is 0.5-SNAPSHOT .
  • Follow this step only when releasing from trunk

    Create a branch from the tag, for minor bugfix updates. This branch should be placed in branches/branch-0.4.1 :

    svn copy https://btw.svn.sourceforge.net/svnroot/btw/PROJECT/tags/PROJECT-0.4 \
               https://btw.svn.sourceforge.net/svnroot/btw/PROJECT/branches/branch-0.4.1 \
          -m "Creating a branch of tag PROJECT-0.4."

    Update the pom.xml file in this branch and set its version to 0.4.1-SNAPSHOT , and the SCM URL to branches/branch-0.4.1 .

  • Execute mvn release:perform . This will build the 0.4 release into target/checkout/target and sends the announcement mail. In case of btlib this will also deploy the artefact into the delo repository.
  • Execute mvn site-deploy on 0.5 trunk, to deploy the most current site.
  • Grab artefacts (*-0.4-me.jar , *-0.4-me.jad , *-0.4-sources.jar , *-0.4-project.zip ) !!!from the target/checkout/target directory (NOT from the target/ directory!!!) and copy them to ftp://upload.sourceforge.net/incoming , user anonymous, empty password. Then perform a SF release. Note: jad file must not be deployed to SF when releasing BTLib.
  • Update the btw-main/src/site/resources/index.wml file.
  • Go to btw-main and execute mvn site-deploy