Here describe the steps taken to create a release of ShrinkWrap. For the time being we support Maven2 Repository publishing only.
Prerequisites
- Read-write access to the JBoss Maven Repository Manager (Nexus) at https://repository.jboss.org/nexus/
- Administrator access to JIRA project key "EMB"
Release Procedure
- Ensure no unresolved blockers are present in JIRA for the version in question
- Ensure your local working copy is up-to-date:
- Create a new JIRA issue to track release commits under project key EMB
- Bump the version across all modules. For instance, from the "trunk" level, issue:
- Install into your local repository to ensure all's building correctly.
- 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.
- Commit, referencing the JIRA issue created in step 1 in the commit message. For example:
- Tag the release by making an SVN copy, referencing the JIRA issue. For example:
- Put trunk back to a SNAPSHOT state.
- Switch to a new workspace directory (eg. "trunk/../tags") and checkout the new tag. For example:
- Switch into the tag, and do a full clean deployment into your local working copy of the JBoss Maven Repository
- This is the point of no return. Perform any manual checks you'd like upon the artifacts before continuing.
- Commit the artifacts to the JBoss Maven Repository. After some time for the repo to sync, this will become publically-available.
- Mark the version as "Released" in JIRA.
- Bulk update all "Resolved" issues for this version in JIRA to "Closed"
svn up
perl -pi -e 's/1.0.0-SNAPSHOT/1.0.0-alpha-1/g' `find . -name pom.xml`
mvn clean install
find /home/alr/.m2/repository/org/jboss/embedded/ -name 1.0.0-alpha-1 |xargs rm -rf
svn ci -m '[EMB-52] Bump project versions in preparation for release'
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
[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'
[alr@localhost tags]$ svn co https://svn.jboss.org/repos/jbossas/projects/embedded/tags/1.0.0-alpha-1
cd 1.0.0-alpha-1/;mvn deploy \ -DaltDeploymentRepository=jboss::default::file:///home/alr/business/jboss/wc/repository.jboss.org/maven2/
[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'
TODO:
Account for Release Notes
Update for new JBoss Maven Nexus Process
Comments