Version 23

    For information about how to release a JBoss project, please refer to JBoss Project Release Process


    This page contains only the specific steps to release a project using the Maven release plugin.



    Determine the version to be released


    The version being released should match the JIRA road map.  Make sure that all issues related to the release are closed.  The project lead should be notified that the release is taking place.


    For information about choosing an appropriate version for your release, see the JBossProjectVersioning page.



    Do a dry run of the release preparation


    Test that your pom.xml has all of the required configuration for doing a release:



    mvn release:prepare -DdryRun=true


    This will do a test run of the release.  You will be prompted to provide the release version, the name of the tag, and new trunk version.  The name of the tag will default to

    and this default tag can be accepted in most cases.


    If the release plugin finds any settings missing from your pom.xml, you will be notified with an error message.  If your project is dependent on any snapshot versions, you will need to update them to a release version (these can be alpha or beta releases, but a GA release is preferred).  Maven will ask you if you want to try to resolve snapshots, and then look for a released version of the snapshot.


    If you are releasing off a Branch, you most likely will NOT want to accept the Maven default for increasing the "new development version", and should manually enter the existing version of the branch.  This will allow you to continue to develop within the same version, and tag each release as XX.YY.ZZ.Beta1, XX.YY.ZZ.Beta2, etc.


    If you are releasing a multi-module project, you will be prompted for version numbers of each module that you are releasing.


    If there are any test failures, you will be notified, and the release will fail.


    Once you have successfully completed the dry run of the release, you should clean up the files that the release plugin created in the dry run:



    mvn release:clean



    Prepare the release


    Run the prepare step (without the dryRun option):


    mvn release:prepare


    You will again be prompted for the release versions and tag name.  These should be the same as what was used during the dry run.  This will run the same steps as the dry run, with the additional step of tagging the release in svn.


    If there are any problems during this step, you should go back and try the dry run option.



    Perform the release


    Next run the perform step which will checkout the files from the tag, do a build, and deploy the generated artifacts.


    mvn release:perform


    The deployment is done to the local file system (a local checkout of the jboss maven2 repository), so you will need to commit the new files after they are deployed.


    Note that the release process updates your project's


    to change the


    to the next version. You need to check this updated pom into cvs/SVN.



    Assemble files for distribution


    The last step is to assemble additional files that are required for distribution.  This is done using the maven assembly plugin.

    mvn assembly:assembly


    This will create zip, tar.gz, and any other distribution files that you have defined.  These files should then be uploaded to the proper distribution channels.