|
Page Edited :
SLINGxSITE :
Release Management
Release Management has been edited by Felix Meschberger (May 18, 2009). Change summary: Initial stab at release management (copied from Apache Felix project) Release Management
This is a draft for a how to about releasing artifacts from Apache Sling. We are currently considering transferring to using Nexus Most of the work is done by Maven. PrerequisitesTo prepare or perform a release you MUST BE at least a Apache Sling Committer Each and every release must be signed; therefore the public key should be cross signed by other Apache committers (not required but suggested). When preparing the release on Mac OS X, check out Appendix F before trying the steps in the next chapter. Building the Release Candidates
For the last two tasks, it's better to give the mirrors some time to distribute the uploaded artifacts (one day should be fine). This ensures that once the website (news (TBD) and download page) is updated, people can actually download the artifacts. Related LinksAppendix A: Create and Add your key to http://www.apache.org/dist/incubator/sling/KEYS
Considering that you are using a *nix system with a working OpenSSH, GnuPG, and bash you can create and add your own key with the following command:
Appendix B: Beautifying the checksumsThe checksum files generated by Maven are not directly usable with all tools. So the following scripts beautify these: for f in *.md5 ; do g=`echo $f | sed "s/\.md5//"` ; echo " $g" >> $f ; done for f in *.sha1 ; do g=`echo $f | sed "s/\.sha1//"` ; echo " $g" >> $f ; done Appendix C: Script to check releasesFelix Meschberger has developed a set of script aim at testing the file to release. You can find them here: For those, using the Felix's script to create their releases, the last maven-release-plugin has changed. So, it doesn't work anymore. You have to add the -DmavenExecutorId=forked-path I'm sure there is others turn around, but at least this one works. So, for mac users, it is something like: mvn -Prelease -Darguments="-Prelease ${REPO}" ${REPO} -DmavenExecutorId=forked-path release:prepare -Dusername=yourId -Dpassword=yourPassword svn up -r head mvn release:prepare -Dresume mvn -Prelease -Darguments="-Prelease ${REPO}" ${REPO} -DmavenExecutorId=forked-path release:perform Appendix D: Deploy bundles on the Sling OBRIf you're releasing bundles, you can add it to the Sling Release OBR. To do this, you execute the following command: mvn clean install \
org.apache.felix:maven-bundle-plugin:deploy \
-DprefixUrl=http://repo1.maven.org/maven2 \
-DremoteOBR=releases.xml \
-DaltDeploymentRepository=apache.releases::default::scp://people.apache.org/www/felix.apache.org/obr
The http://felix.apache.org/obr/releases.xml Appendix E: Releasing on Mac OS XWhen running the mvn release:prepare command, you might get the following error: [INFO] Executing: svn --non-interactive commit --file /tmp/maven-scm-802409492.commit --targets /tmp/maven-scm-18804-targets
[INFO] Working directory: /homedir/dev/....
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The svn command failed.
Command output:
svn: Commit failed (details follow):
svn: MKACTIVITY of '/repos/asf/!svn/act/4f11ad5d-9161-0410-b4dd-cb727141ea8c': authorization failed (https://svn.apache.org)
There is a bug in svn on the Mac, as described by Brett Porter in his blog |
Unsubscribe or edit your notifications preferences
