How to create and announce a Camel release.

Maven 2 Setup

Before you deploy anything to the maven repository using Maven 2, you should configure your ~/.m2/settings.xml file
so that the file permissions of the deployed artifacts are group writable. If you do not do this, other developers will not able to overwrite your SNAPSHOT releases with newer versions.

<settings>
  ...
  <servers>

    <server>
      <id>apache-repo</id>
      <username>chirino</username>
      <directoryPermissions>775</directoryPermissions>
      <filePermissions>664</filePermissions>
    </server>
    <server>
      <id>apache-snapshots</id>
      <username>chirino</username>
      <directoryPermissions>775</directoryPermissions>
      <filePermissions>664</filePermissions>
    </server>
    <server>
      <id>apache-website</id>
      <username>chirino</username>
      <directoryPermissions>775</directoryPermissions>
      <filePermissions>664</filePermissions>
    </server>

  </servers>
  ...
</settings>

Creating the Camel Release

  1. pom.xml - in the project root and all sub-projects
  2. the value of <camel-version> property in the root pom.xml
  3. Note: The command below will do the trick on Linux (replace for the appropriate version).
    find . -name pom.xml | grep -v .svn | xargs sed -i -e s/x.y-SNAPSHOT/$PROJVER/g
    
    If you do this on MacOSX, you will need to:
    find . -name pom.xml | grep -v .svn | xargs sed -i "" -e s/x.y-SNAPSHOT/$PROJVER/g
    

Testing the Camel Release Candidate

When folks need to test out a release candidate, the jars will not have been uploaded to the Maven repo. This means that the example programs which use Maven will not automatically work.

So whenever running the Examples you need to append the following command line argument...

mvn camel:run -DremoteRepo=http://people.apache.org/~chirino/apache-camel-1.2.0-RC1/maven2

Assuming that the release candidate is deployed to *http://people.apache.org/~chirino/apache-camel-1.2.0-RC1/maven2

Announcing the Camel Release

  1. Perform a release in JIRA and create a new release version in JIRA
  2. Create a download page for the release in the WIKI similar like the Camel 1.4.0 Release. There could be already a release notes page in the In Progress folder - if so just edit it and change its parent to be the Download page. Otherwise add a new child page in Download and update the Download page to show the latest release version.
  3. Update the Download page to refer to the latest release distributions (search & replace the version numbers mostly (smile)
  4. Update the Xml Reference page with a link to the HTML and XSD
  5. Update the Manual page with a link to the PDF
  6. Mail the dev & user lists
  7. Post a news entry on the WIKI which links to the release page so folks can download it!
  8. perform a full auto-export plugin export of the wiki to static html to work around the bug with autoexport plugin not updating the index page when you post the news item
  1. Have a beer! (smile)