Release Management
* get your gpg key into a file called KEYS at https://svn.apache.org/repos/asf/excalibur/trunk/KEYS * copy this file to /www/www.apache.org/dist/excalibur ie wget https://svn.apache.org/repos/asf/excalibur/trunk/KEYS scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur * update project.xml. Probably need to change the version numbers. Commit the changes. cd ~/svn/excalibur/trunk vim instrument/project.xml vim instrument-manager/project.xml vim instrument-client/project.xml svn commit -m 'prepare for releases' or something like that. * optional: temporary get rid of your gpg passphrase gpg --edit-key <YOUR ID> > key <YOURKEY> > passwd <YOUR PASSPHRASE> <enter> <enter> yes quit yes or something like that. * make sure you're using the latest version of the Sun JDK 1.3 to build the distributions. Otherwise subtle incompatibility issues may arise later. Exceptions are packages which utilize JDK1.4 logging like excalibur-framework-impl. Those need to be built using JDK1.4. * build distributions, tag svn, and deploy them using maven multiproject:install cd instrument maven excalibur:release cd ../instrument-manager maven excalibur:release cd ../instrument-client maven excalibur:release The way the script works is if you have the string "RC" or the string "dev" in the version then it assumes it is a release candidate and deploys to your own personal account (/home/${user}/public_html/dist) otherwise it deploys to main area (/www/www.apache.org/dist). To deploy the artifacts you add something like the following into your ~/build.properties or you can specify it on command line. maven.username=donaldp maven.privatekey=C:\Documents and Settings\Peter\Application Data\SSH\UserKeys\PeterHome The goal to deploy artifacts is "excalibur:deploy", tagging repo is "excalibur:tagRelease" and releasing (which tags and deploys) is "excalibur:release". See maven.xml file(s). With the newer maven releases JSCH is used in the deploy plugin, and ssh agent forwarding and the like won't work. To get around this, you will probably need to specify maven.repo.default.passphrase=XXXX either on the commandline r in ~/build.properties. * optional: restore your gpg passphrase gpg --edit-key <YOUR ID> > key <YOURKEY> > passwd <YOUR PASSPHRASE> <YOUR PASSPHRASE> quit yes or something like that. * ask for feedback on dev@excalibur * probably go through several iterations of the above as some last-minute bugs are hammered out * call for a PMC vote to release the files * if the vote passes, change the version numbers to final and rerun the build process. With no "RC" in the version name the files should end up at http://www.apache.org/dist/excalibur/ * send out announcements to the appropriate mailing lists
see also: http://wiki.apache.org/avalon/AvalonReleaseManagerHowto. It has sample announcements and the like. Don't pay attention to the rest of the process though :-D