Global settings:
java.home = ${java.home}
user.home = ${user.home}
java.class.path = ${java.class.path}
Project settings:
Version: ${project.id}
Debug: ${compile.debug}
Optimize: ${compile.optimize}
Deprecation: ${compile.deprecation}
Encoding: ${compile.encoding}
Build settings:
Source Files: ${source.home}
Build Files: ${build.dir}
Distribution Files: ${dist.dir}
***** RELEASE INSTRUCTIONS *****
* Be sure you can answer "yes" to the following:
* Was your local code up to date and free of modifications or extra files?
* Was the version number correct in both build.properties and pom.xml?
* For a final release, the distributionManagement.site.url value
in the pom.xml should be:
scpexe://people.apache.org/www/velocity.apache.org/tools/releases/velocity-tools-${project.version}
and for alpha or beta releases it should be:
scpexe://people.apache.org/www/velocity.apache.org/engine/devel/
* Do all new files have the Apache License? (use "ant rat" to double-check)
* Is ${basedir}/xdocs/changes.xml up to date?
Feel free to set an estimated release date for this version in that file;
it can be corrected later if the release is delayed.
* Is the ${basedir}/README.txt up to date for this release?
* Check that you have no uncommitted changes with 'svn status'
* Run 'ant clean compile' and 'ant clean test' with all supported JDKs
* Check that at least 'maven clean install' works.
* Check that all version numbers are in sync: build.properties, changes.xml, and pom.xml
* Check that the README.txt and other documentation are up to date.
* Write down the current svn revision so you don't have to look it up
later when you make the tag for this release (post-vote).
* Go to ${build.dir} and sign all the jar, zip, tar.gz and pom files
with your personal PGP key. If using gpg, you'll probably do this:
gpg --armor --output ${final.name}.zip.asc --detach-sig ${final.name}.zip
* Now that the distribution files have been created, you will need to sign all
of the jar, zip, pom, and tar.gz files with your private key. You can simplify
this process with a script along the lines of:
#! /bin/bash
for i in *.tar.gz *.zip *jar; do
gpg --armor --output $i.asc --detach-sig $i
done
* SSH into people.apache.org and make sure that this directory exists:
${publish.dir}
* Login to people.apache.org and create an empty folder at:
~/public_html/velocity/tools/${project.version}
* If you haven't done it before, ensure that your PGP key is appended to
/www/www.apache.org/dist/velocity/KEYS
Some instructions for that are at the top of that file.
* Use 'ant publish' to upload the distribution files to that folder.
* Review http://wiki.apache.org/velocity/ReleaseProcess for more details.
You must first execute "release" target, then sign the distribution
files with your pgp key (creating the needed '.asc'signature files).
You may also need to add the Jsch jar to Ant's classpath to enable the
optional 'scp' task.
Uploading distribution files from
${dist.dir}
to
${username}:${password}@${publish.server}:${publish.dir}
***** RELEASE INSTRUCTIONS *****
* SSH to ${publish.server} and verify the checksums and signatures of the uploaded
files with a script like:
#!/bin/csh
foreach fn ( *.tar.gz *.zip *.jar *.pom )
echo Verifying $fn...
echo GPG signature should be "Good"
gpg --verify $fn.asc
echo MD5s should be identical
cat $fn.md5
md5 -q $fn
echo SHA1s should be identical
cat $fn.sha1
sha1 -q $fn
echo
end
* Announce the availability of the test build on the dev@velocity.apache.org list.
* Allow a couple days for people to test the test build.
* Call for a release vote on private@velocity.apache.org and dev@velocity.apache.org
* Once the release vote has passed, these files should all be copied to
/www/www.apache.org/dist/velocity/tools/${project.version}
and the full jar, pom and their md5 and sha1 files should be copied into
/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/velocity/velocity-tools/${project.version}/
* Remove older releases of the same grade as this one (alpha, beta, final) from
/www/www.apache.org/dist/velocity/tools
* Tag the release in SVN with a command such as:
svn copy -m "Release Tools ${project.version}" -r [revision #] \
https://svn.apache.org/repos/asf/velocity/tools/trunk \
https://svn.apache.org/repos/asf/velocity/tools/tags/${project.version}
* Publish the documentation for this release on the website using 'ant publish.docs'
* Update the download and news pages on the website
* Send an announcement email to all Velocity lists and announce@apache.org
once most of the mirrors have been updated with the distribution files.
* Review http://wiki.apache.org/velocity/ReleaseProcess for more details.
Zips documentation files from
${docs.dir}
and uploads them to
${username}:${password}@${publish.server}:${publish.docs.dir}
***** PUBLISH INSTRUCTIONS *****
* SSH into people.apache.org
* Unzip ${publish.docs.dir}docs.zip into either
${publish.docs.dir}releases/${project.version}
or
${publish.docs.dir}devel/
as appropriate.
NOTE: At this time, you must add Apache RAT, Apache RAT AntTasks
Commons-Lang, Commons-Collections and Commons-CLI to Ant's lib directory
to use this.
Your RAT report is here: ${build.dir}/rat-report.txtDeploying to ${maven.remote.repository}Deploying to Apache Maven repository