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.txt Deploying to ${maven.remote.repository} Deploying to Apache Maven repository