You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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 writeable. 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. Prepare env and directory structure
    export PROJ=apache-camel
    export PROJVER=<x.y.z>
    mkdir  $HOME/$PROJ-$PROJVER
    mkdir  $HOME/$PROJ-$PROJVER/maven2
    mkdir  $HOME/$PROJ-$PROJVER/maven
    mkdir  $HOME/$PROJ-$PROJVER/site
    
  1. Grab the latest source from SVN
    svn co https://svn.apache.org/repos/asf/activemq/camel/trunk camel
    cd camel
    
  1. Change the version number in:
  • pom.xml - in the project root and all sub-projects
  • the value of <camel-version> property in the root pom.xml
  • Note: The command below will do the trick (replace for the appropriate version); use x.y.z-RCn for a release candidate
    find . -name pom.xml | grep -v .svn | xargs sed -i -e s/x.y-SNAPSHOT/$PROJVER/g
    
  1. Let Maven build, test, package, and deploy the binaries
    mvn clean source:jar deploy -Drelease-repo-url=file:$HOME/$PROJ-$PROJVER/maven2 -Dm1-repo-url=file:$HOME/$PROJ-$PROJVER/maven -P release
    
  1. Build the camel site and javadoc (you will need graphviz installed and the dot program in the path)
    mvn -Dsite-repo-url=file:$HOME/$PROJ-$PROJVER/site site:site
    mvn -Dsite-repo-url=file:$HOME/$PROJ-$PROJVER/site site:deploy
    
  1. Tag the release using your local workspace to a new CAMEL_X_Y label
    svn copy ../camel https://svn.apache.org/repos/asf/activemq/camel/tags/camel-x.y.z -m "Camel x.y.z Release"
    
  1. Check that the binaries look fine.

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.0 Release
  3. Update the Xml Reference page with a link to the HTML and XSD
  4. Mail the dev & user lists
  5. Post a news entry on the WIKI
  6. Have a beer! (smile)
  • No labels