Author: rombert Date: Sat Oct 11 21:30:57 2014 New Revision: 1631127 URL: http://svn.apache.org/r1631127 Log: SLING-3685 - Document and further automate the IDE tooling release process
Include Sling IDE Tooling docs in the release management page Modified: sling/site/trunk/content/documentation/development/release-management.mdtext Modified: sling/site/trunk/content/documentation/development/release-management.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/development/release-management.mdtext?rev=1631127&r1=1631126&r2=1631127&view=diff ============================================================================== --- sling/site/trunk/content/documentation/development/release-management.mdtext (original) +++ sling/site/trunk/content/documentation/development/release-management.mdtext Sat Oct 11 21:30:57 2014 @@ -237,6 +237,49 @@ releases which are just announced on our 1. [http://www.apache.org/dev/release-signing.html](http://www.apache.org/dev/release-signing.html) 1. [http://wiki.apache.org/incubator/SigningReleases](http://wiki.apache.org/incubator/SigningReleases) +## Releasing the Sling IDE Tooling + +While the Sling IDE tooling is built using Maven, the toolchain that it is based around does not cooperate well with the maven-release-plugin. As such, the release preparation and execution are slightly different. The whole process is outlined below, assuming that we start with a development version of 1.0.1-SNAPSHOT. + +1. set the fix version as released: `mvn tycho-versions:set-version -DnewVersion=1.0.2` +1. update the version of the source-bundle project to 1.0.2 +1. commit the change to svn +1. manually tag in svn using `svn copy https://svn.apache.org/repos/asf/sling/trunk/tooling/ide https://svn.apache.org/repos/asf/sling/tags/sling-ide-tooling-1.0.2` +1. Checkout the version from the tag and proceed with the build from there `https://svn.apache.org/repos/asf/sling/tags/sling-ide-tooling-1.0.2` +1. build the project with p2/gpg signing enabled: `mvn clean package -Psign` +1. build the source bundle from the source-bundle directory: `mvn clean package` +1. copy the following artifacts to https://dist.apache.org/repos/dist/dev/sling/ide-tooling-1.0.2 + 1. source bundle ( org.apache.sling.ide.source-bundle-1.0.2.zip ) + 1. zipped p2 repository ( org.apache.sling.ide.p2update-1.0.2.zip ) +1. ensure the artifacts are checksummed and gpg-signed +1. call the vote +1. Update to next version: `mvn tycho-versions:set-version -DnewVersion=1.0.3-SNAPSHOT` + +Once the release has passed, the following must be done: + +1. upload p2update.zip* to https://dist.apache.org/repos/dist/release/sling/ +1. upload unzipped update site to https://dist.apache.org/repos/dist/release/sling/eclipse/1.0.2 +1. upload the source bundle to https://dist.apache.org/repos/dist/release/sling/eclipse/1.0.2 + 1. create GPG signatures and checksums for all uploaded jars ( see below for a script example ) +1. update https://dist.apache.org/repos/dist/release/sling/eclipse/composite\{Content,Artifacts}.xml to point version 1.0.2 +1. archive the old artifact versions but leave pointers to archive.apache.org, using compositeArtifacts.xml/compositeContent.xml , with a single child entry pointing to https://archive.apache.org/dist/sling/eclipse/1.0.0/ + +The GPG signatures can be generated using a script such as the one below + + #!/bin/bash + + for jarfile in `find . -name \*.jar -o -name \*.zip | xargs basename` ; do + if [ ! -f $jarfile.md5 ] ; then + md5sum $jarfile > $jarfile.md5 + fi + if [ ! -f $jarfile.sha1 ] ; then + sha1sum $jarfile > $jarfile.sha1 + fi + if [ ! -f $jarfile.asc ] ; then + gpg --detach-sign -a $jarfile + fi + done + ## Appendix A: Create and Add your key to [https://people.apache.org/keys/group/sling.asc](https://people.apache.org/keys/group/sling.asc) 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: @@ -320,4 +363,6 @@ To update the OBR you may use the Apache Then go to the CMS at [https://cms.apache.org/redirect?uri=http://sling.apache.org/obr](https://cms.apache.org/redirect?uri=http://sling.apache.org/obr) , update your checkout and then publish the site. +## Appendix D: Releasing the Sling IDE Tooling + [1]: https://dist.apache.org/repos/dist/release/sling/