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/


Reply via email to