Access Keys:
Skip to content (Access Key - 0)
community header community tab mule tab ibeans tab muleforge tab

Table of Contents

Click here to expand...

Performing a Release

The following describes the steps to performing a project release release on MuleForge.

  1. Ensure you have your environment set up correctly. This means that you should have Maven installed and your settings.xml configured. If you haven't done this see the Environment Setup page.
  2. Before you can perform a release, you must have no outstanding modifications, all code should be checked into SVN.
  3. The current version in your pom.xml should be x.x-SNAPSHOT. x.x is the major and minor version of your project. Note that many projects choose to adopt the Mule versioning scheme so the version of the MuleForge project matches the version of Mule that it works with. If you are a pert of the [Release Train] your versioning should follow the Mule project versioning.
  4. Before you start a release you need to generate the release distribution and check that it works and has the correct layout. You need to have an assembly.xml file in the root directory of your project. This is a file that describes what will be included in the release .zip .tar.gz archives. You should use this assembly descriptor and only change if necessary.
  5. Run the Maven assembly plug-in-
    
    mvn assembly:assembly
    
    

    Look in the ./target directory. There should be a .zip and .tar.gz. The contents will be identical so just check the layout of one and also make sure all files are in there that you expect to be there.

  6. Next we're going to use Maven's release plug-in. The release plug-in will set the release version for the project, tag the source code, build the artifacts and deploy the artifacts and the maven site to MuleForge.
  7. Open a shell and go to the root directory of the project
  8. Run the following command -
    
    mvn -Dusername=ross -Dpassword=xxx release:clean release:prepare
    
    

    The username and password parameters are your login credentials for MuleForge.
    You'll be prompted with some questions -

    
    What is the release version for "mule-transport-test"?
    (org.mule.transports:mule-transport-test) 2.2: :
    What is SCM release tag or label for "mule-transport-test"?
    (org.mule.transports:mule-transport-test) mule-transport-test-2.2: :
    What is the new development version for "mule-transport-test"?
    (org.mule.transports:mule-transport-test) 2.3-SNAPSHOT: :
    
    

    The default value is good for the first 2 questions, and depending on whether you are following the Mule versioning scheme you may want to set your own new development version.

  9. Next run -
    
    mvn release:perform
    
    

The release may take a while since it will run a number of reports and upload everything to MuleForge. Once this process completes your release is done!

You can check the Distributions area of you project site to see the release artifacts. Also, there should be corresponding jars and schemas (if you have a schema) in the Jar repository area. Also check the 'Maven' link on the project site to see the uploaded site.

Announcing your Release

Once you produce a release of your project, it is worth announcing it to the rest of the world through the 'MuleForge News' section of the homepage of MuleForge.

This can be done by clicking 'Submit News' under the 'Administration' heading of the left side navigation bar of your project's homepage. This link leads to a form which you are to fill in and submit, so that the news title and content appear on the homepage of MuleForge.

Be proud of your work!

Troubleshooting

Out of Memory Error

If you get an out of memory error when running the release you just need an environment variable MAVEN_OPTS=-Xmx512m.

Error deploying artifact: Unsupported Protocol: 'dav'

This seems to be a bug in Maven 2.0.8. You can either downgrad to 2.0.7 or upgrade to 2.0.9 to fix the problem.

Rolling-back a release

We all make mistakes and sometimes you'll need to rollback a release and start again. If you need to do this for any reason, follow these step -

  1. Use the release plug-in start the rollback by executing -
    
    mvn release:rollback
    
    
  2. For some reason the above step does not update the tag in SVN so you'll need to execute the following SVN command -
    
    svn rm https://svn.muleforge.org//tags/- -M "rolling back the release"
    
    

    You'll need to substitute project-domain, artifactId and version to you project credentials.

  3. There is no easy way of undeploying distribution artifacts with Maven, but you can redeploy over existing artifacts, so make sure you make any changes quickly and redeploy.
Adaptavist Theme Builder (3.3.3-conf210) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license