This is written primarily for Apache Tomcat release managers although it may also be of interest to anyone looking to validate and/or replicate the release process. This page uses Tomcat 7 as an example but the same process applies to later versions as well.
KEYS
file differs from https://dist.apache.org/repos/dist/release/tomcat/tomcat-7/KEYS
one. The latter one will be replaced after you do a release. Check that the KEYS
file contains your public key.The aim is to create a copy of the current trunk but without the "-dev" appended to the end of the version number.
version.suffix=-dev
to version.suffix=
I found it simplest to keep this clone for tagging to ensure no other edits found their way into the tag.
I'm using Git Bash for the above. Adjust as necessary for you choice of tools.
execute.validate=true execute.test.bio=true execute.test.nio=true execute.test.apr=true test.haltonfailure=true gpg.exec=C:/Program Files (x86)/GNU/GnuPG/gpg2.exe base.path=C:/temp/libs # Tomcat 7 currently requires both JDK 6 and JDK 7 to build a release # JAVA_HOME system property used by Ant has to point to JDK 6 and this points to JDK 7 java.7.home=C:/Program Files (x86)/Java/jdk1.7.0_45 |
ant release
Notes:
c:/temp/libs
was empty so that the build had to download all the dependenciesUpload the contents of TOMCAT_7_0_XX/output/release
to https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/
See https://github.com/apache/tomcat/blob/7.0.x/res/maven/README.txt steps 1 to 3 (not step 4!)
svn mv https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.XX https://dist.apache.org/repos/dist/release/tomcat/tomcat-7/v7.0.XX |
svn checkout --depth immediates https://dist.apache.org/repos/dist/release/tomcat/tomcat-7/ |
and update the KEYS
file there to be the same as the one used for release. (The download page has links pointing to this file).