Date: Tue, 19 Mar 2024 01:24:24 +0000 (UTC) Message-ID: <2109105670.52624.1710811464200@cwiki-he-fi.apache.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_52623_280363946.1710811464200" ------=_Part_52623_280363946.1710811464200 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
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 9 as an example but the same proces= s applies to later versions as well. Please ensure that you have an environ= ment that is set up properly for a rele= ase build, plus that you are using the latest versions of toolchain com= ponents (specifically, the JDK and ant).
KEYS
file differs from https://dist.apache.org/repos/dist/releas=
e/tomcat/tomcat-9/KEYS
one. The latter one will be replaced aft=
er you do a release. Check that the KEYS
file contains your pu=
blic key.execute.validate=3Dtrue execute.test.bio=3Dtrue execute.test.nio=3Dtrue execute.test.apr=3Dtrue test.haltonfailure=3Dtrue gpg.exec=3DC:/Program Files (x86)/GNU/GnuPG/gpg2.exe #gpg.exec=3D/usr/bin/gpg base.path=3DC:/temp/libs #base.path=3D~/tomcat-libs # Enable the following if the DigiCert ONE magic is all set up, including ~= /.digicertone/pkcs11properties.cfg codesigning.storepass=3Dapikey|keystorepath|keystorepassword do.codesigning=3Dtrue
The aim is to create a copy of the current trunk but without the "-dev" = appended to the end of the version number. All artifacts required for repea= table builds will be included as well.
git clone https://github.com/apache/tomcat&nb=
sp;/c/releases/asf-tomcat
or git clone -b 9.0.x g=
it clone https://github.com/apache/tomcat /c=
/releases/asf-tomcat
cd /c/releases/asf-tomcat
git checkout 9.0.x
git pull
ant pre-release
may save you the follow=
ing step, plus steps 2-3 in the Maven release process.)Edit "build.properties.default" and change the lines after "# ----- = Reproducible builds -----" to a new value. (NOTE: this is done by 'ant pre-= release')
ant.tstamp.now
property is in secon=
ds (unlike the value returned by System.currentTimeMillis()
me=
thod which is milliseconds, see bug 65527<=
/a> for how this happened for Tomcat 8.5.70).date -u '+%s %Y-%m-%d %H:%M:%S %Z'
Edit "build.properties.default" and change the line version.dev=3D-d= ev to version.dev=3D (NOTE: this is done by 'ant pre-release')
sed -i.bak "s/^version.dev=3D.*/version.dev=
=3D/" build.properties.default
ant release
git add --all (to pick-up the repeatable build artifacts in additi= on to the content-changes from above)
git commit --all --message "Tag 9.0.94"
git tag 9.0.94
git push origin 9.0.94
Notes:
c:/temp/libs
was empty so that the build =
had to download all the dependenciesdo.codesigning=3Dtrue
in build.properties).codesigning.storepass
property) set=
properly.Upload the contents of TOMCAT_9_0_XX/output/release
to https://dist.apache.org/repos/dist/dev/tomcat=
/tomcat-9/
svn checkout https://dist.apache=
.org/repos/dist/dev/tomcat/tomcat-9
See https://github.com/apache= /tomcat/blob/9.0.x/res/maven/README.txt steps 1 to 3 for the relea= se (not step 4 until the vote passes !)
git reset HEAD~ && git checkou=
t build.properties.default && git checkout webapps/docs/changelog.x=
ml && rm -f build.properties.release res/maven/mvn.properties.relea=
se res/install-win/Uninstall.exe.sig res/install-win/tomcat-installer.exe.s=
ig)
I found it simplest to keep this clone for tagging to ensure no other ed= its found their way into the tag.
To get a clean copy of the release (e.g. for testing):
I'm using Git Bash for the above. Adjust as necessary for you choice of = tools.
svn mv https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.XX= https://dist.apache.org/repos/dist/release/tomcat/tomcat-9/v9.0.XX
svn checkout --depth immediates https://dist.apache.org/repos/dist/re= lease/tomcat/tomcat-9/
and update the KEYS
file=
there to be the same as the one used for release. (The download page has l=
inks pointing to this file).
xdocs
/ files, then use an=
t docs
to generate the HTML.Update the javadocs (see htt= ps://svn.apache.org/repos/asf/tomcat/site/trunk/README.txt)