Here you will find the steps to create releases for Tiles.
To create a release you have to install:
These operations need to be performed only one time.
To create a GPG key, follow the guidelines from Maven team. Include it in:
https://svn.apache.org/repos/asf/tiles/site/KEYS
Publish your GPG key in a PGP key server, such as MIT Keyserver.
ssh-keygen -t dsa
scp ~/.ssh/id_dsa.pub user@people.apache.org:.ssh/authorized_keys
ssh user@people.apache.org
If it does not ask you a password, everything is ok.
These steps must be performed for each release.
Snapshot repositories (for libraries and plugins) should be removed from the main POM before a release. The problem is that a system behind a corporate firewall/white list cannot access to the snapshot repository URL, thus giving an error.
To prepare the release Subversion tag, check out the branch/trunk from where you are preparing the release and type:
mvn release:prepare -Dusername=YOUR_SVN_USER -Dpassword=YOUR_SVN_PASSWORD
The plugin interactively will ask you the version to release, the Subversion tag to use and the next snapshot version. It is reccomended to use the tag: tiles-X.X.X.
Due to an open bug, it is needed to check out and install, through mvn install, the tag; otherwise the release process fails.
To perform the release, i.e. creating and deploying Maven artifacts, use:
mvn -Prelease -Darguments="-Prelease,j4" release:perform
cd target/checkout/assembly/target/assembly/out
#!/bin/sh for fileitem in * do openssl md5 < $fileitem > $fileitem.md5 openssl sha1 < $fileitem > $fileitem.sha1 done
scp * user@people.apache.org:/www/people.apache.org/builds/tiles/${version}
In developers mailing list send an announcement for the test build:
Subject: [ANNOUNCE] Tiles ${version} test build available The test build of Tiles ${version} is available. No determination as to the quality ('alpha,' 'beta,' or 'GA') of Tiles ${version} has been made, and at this time it is simply a "test build". We welcome any comments you may have, and will take all feedback into account if a quality vote is called for this build. Release notes: * ${jira.release.notes} Distribution: * http://people.apache.org/builds/tiles/${version}/ Maven 2 staging repository: * http://people.apache.org/builds/tiles/${version}/m2-staging-repository/ A vote regarding the quality of this test build will be initiated within the next couple of days.
A few days after the test build announcement, call for a vote in developers mailing list.
Subject: [VOTE] ${version} Release Quality The Tiles ${version} test build has been available since ${testBuildDate}. Release notes: * ${jira.release.notes} Distribution: * http://people.apache.org/builds/tiles/${version}/ Maven 2 staging repository: * http://people.apache.org/builds/tiles/${version}/m2-staging-repository/ If you have had a chance to review the test build, please respond with a vote on its quality: [ ] Leave at test build [ ] Alpha [ ] Beta [ ] General Availability (GA) Everyone who has tested the build is invited to vote. Votes by PMC members are considered binding. A vote passes if there are at least three binding +1s and more +1s than -1s.
After a vote is finished, and it has been decided that is at least of alpha quality, there is the need of a post-vote process.
mvn stage:copy -Dsource="http://people.apache.org/builds/tiles/${version}/m2-staging-repository/" -Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository" -Dversion=${version}
ssh user@people.apache.org cd /www/people.apache.org/builds/tiles/${version} mkdir /www/www.apache.org/dist/tiles/v${version}/ cp * /www/www.apache.org/dist/tiles/v${version}/
scp KEYS user@people.apache.org:/www/www.apache.org/dist/tiles/v${version}/
https://svn.apache.org/repos/asf/tiles/site/src/site/xdoc/index.xml https://svn.apache.org/repos/asf/tiles/site/src/site/apt/download.apt
Build and publish the site:
mvn site mvn site:deploy
Finally, send an an announcement to the users and developers mailing list:
Subject: [ANNOUNCE] Tiles ${version} ${quality} released The Apache Tiles team is pleased to announce the release of Tiles ${version} ${quality}. Tiles ${version} is available in a binary and a source distribution. http://tiles.apache.org/download.html It is also available in the central Maven repository under Group ID "org.apache.tiles". The 2.0.x series of the Apache Tiles framework has a minimum requirement of the following specification versions: * Java Servlet 2.4 and JavaServer Pages (JSP) 2.0 * Java Standard Edition (Java SE) 1.5 The release notes are available online at: * ${jira.release.notes} Please feel free to test the distribution and post your comments to the user list, or, if appropriate, file a ticket with JIRA.
You have finished!