Version 2

    Here describe the steps taken to create a release of ShrinkWrap.  For the time being we support Maven2 Repository publishing only.

     

    Prerequisites
    1. Read-write access to the JBoss Maven Repository Manager (Nexus) at https://repository.jboss.org/nexus/
    2. Administrator access to JIRA project key "EMB"

     

    Release Procedure

     

    1. Ensure no unresolved blockers are present in JIRA for the version in question
    2. Ensure your local working copy is up-to-date:
    3. svn up
    4. Create a new JIRA issue to track release commits under project key EMB
    5. Bump the version across all modules.  For instance, from the "trunk" level, issue:
    6. perl -pi -e 's/1.0.0-SNAPSHOT/1.0.0-alpha-1/g' `find . -name pom.xml`
      
    7. Install into your local repository to ensure all's building correctly. 
    8. mvn clean install
    9. Remove from your local repository the artifacts just placed there.  We'll later rebuild these from the tag, and deploy that result into the Maven2 repository.
    10. find /home/alr/.m2/repository/org/jboss/embedded/ -name 1.0.0-alpha-1 |xargs rm -rf
    11. Commit, referencing the JIRA issue created in step 1 in the commit message.  For example:
    12. svn ci -m '[EMB-52] Bump project versions in preparation for release'
    13. Tag the release by making an SVN copy, referencing the JIRA issue.  For example:
    14. svn cp -m '[EMB-52] Tag EmbeddedAS 1.0.0-alpha-1' \
        https://svn.jboss.org/repos/jbossas/projects/embedded/trunk \
        https://svn.jboss.org/repos/jbossas/projects/embedded/tags/1.0.0-alpha-1
    15. Put trunk back to a SNAPSHOT state.
    16. [alr@localhost trunk]$ perl -pi -e 's/1.0.0-alpha-1/1.0.0-SNAPSHOT/g' `find . -name pom.xml`
      [alr@localhost trunk]$ svn ci -m '[EMB-52] Reset EmbeddedAS trunk to 1.0.0-SNAPSHOT'
    17. Switch to a new workspace directory (eg. "trunk/../tags") and checkout the new tag.  For example:
    18. [alr@localhost tags]$ svn co https://svn.jboss.org/repos/jbossas/projects/embedded/tags/1.0.0-alpha-1
    19. Switch into the tag, and do a full clean deployment into your local working copy of the JBoss Maven Repository
    20. cd 1.0.0-alpha-1/;mvn deploy \
        -DaltDeploymentRepository=jboss::default::file:///home/alr/business/jboss/wc/repository.jboss.org/maven2/
    21. This is the point of no return.  Perform any manual checks you'd like upon the artifacts before continuing.
    22. Commit the artifacts to the JBoss Maven Repository.  After some time for the repo to sync, this will become publically-available.
    23. [alr@localhost embedded]$ pwd
      /home/alr/business/jboss/wc/repository.jboss.org/maven2/org/jboss/embedded
      [alr@localhost embedded]$ svn ci -m '[EMB-52] Release EmbeddedAS 1.0.0-alpha-1'
      
    24. Mark the version as "Released" in JIRA.
    25. Bulk update all "Resolved" issues for this version in JIRA to "Closed"
    TODO:

    Account for Release Notes

    Update for new JBoss Maven Nexus Process