Author: nbubna
Date: Wed Dec 17 10:53:30 2008
New Revision: 727468
URL: http://svn.apache.org/viewvc?rev=727468&view=rev
Log:
add a (rough) rat task and more release/publish instructions
Modified:
velocity/engine/trunk/build/build.xml
Modified: velocity/engine/trunk/build/build.xml
URL:
http://svn.apache.org/viewvc/velocity/engine/trunk/build/build.xml?rev=727468&r1=727467&r2=727468&view=diff
==============================================================================
--- velocity/engine/trunk/build/build.xml (original)
+++ velocity/engine/trunk/build/build.xml Wed Dec 17 10:53:30 2008
@@ -844,13 +844,61 @@
<echo message="${checksum.tgz.sha1} *${final.name}.tar.gz"
file="${build.dir}/${final.name}.tar.gz.sha1" />
</target>
+ <target name="release.howto">
+ <echo>
+ ***** 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/engine/releases/velocity-${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 ${build.src}/changes/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 ${build.src}/site/apt/upgrading.apt up to date for this release?
+
+ * Is the ${velocity.dir}/README.txt up to date for this release?
+
+ * If a final release, update the "Where do I get releases?" section of
+ ${build.dir}/xdocs/docs/index.xml
+ to show the latest stable version number.
+
+ * 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
+
+ * SSH into people.apache.org and make sure that this directory exists:
+ ${publish.dir}
+
+ * 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.
+
+ * Call "ant publish"
+ </echo>
+ </target>
+
<!-- ================================================================== -->
<!-- Internal targets for Release Manager to ensure that the right -->
<!-- JDK is used for building the release. -->
<!-- ================================================================== -->
<target name="release"
description="Build the packages as release manager, does additional checks
over the package target"
- depends="package-java-check, clean, package, pom" />
+ depends="package-java-check, clean, package, pom, release.howto"/>
<!-- ================================================================== -->
<!-- Packages the distribution with ZIP and TAR-GZIP -->
@@ -1026,11 +1074,7 @@
</condition>
</target>
- <!-- =================================================================== -->
- <!-- Uploads the distribution files after checking that they're ready. -->
- <!-- =================================================================== -->
- <target name="publish" depends="prepare.publish" if="ready"
- description="Uploads distribution files to the distribution server">
+ <target name="publish.upload" depends="prepare.publish" if="ready">
<echo>
Uploading distribution files from
${build.dir}
@@ -1049,6 +1093,9 @@
<include name="*.pom"/>
</fileset>
</scp>
+ </target>
+
+ <target name="publish.howto">
<echo>
***** RELEASE INSTRUCTIONS *****
@@ -1068,9 +1115,9 @@
echo
end
- * Announce the availability of the test build on the
[email protected] list.
+ * Announce the availability of an Engine ${version} test build on
[email protected].
- * Allow a couple days for people to test the test build.
+ * Allow a few days for people to test the test build.
* Call for a release vote on [email protected] and
[email protected]
@@ -1083,21 +1130,41 @@
/www/www.apache.org/dist/velocity/engine
* Tag the release in SVN with a command such as:
- svn copy -m "Release Engine ${version}"
https://svn.apache.org/repos/asf/velocity/engine/trunk \
+ svn copy -m "Release Engine ${version}" -r [revision #] \
+ https://svn.apache.org/repos/asf/velocity/engine/trunk \
https://svn.apache.org/repos/asf/velocity/engine/tags/${version}
- * Publish the documentation for this release on the website
+ * Go to ${velocity.dir} and run "mvn site" then "mvn site:deploy"
+ to publish the documentation for this release on the website
+
+ * Wait a day or so for the mirrors and maven repos to sync up.
+
+ * Update the main website (velocity-site project) with the release info:
- * Update the download and news pages on the website
+ * Add this ${version} release to news.xml, download.xml,
doap_engine.rdf and
+ the "Release status" section of index.xml
- * Send an announcement email to all Velocity lists and [email protected]
- once most of the mirrors have been updated with the distribution files.
+ * Check those changes into SVN
+
+ * Email Henning to have him update and build the site from
velocity.zones.apache.org
+ (or get velocity-site to work for other people besides Henning)
+
+ * Wait a few hours for the site to sync up.
+
+ * Send an announcement email from your apache.org address to all Velocity
lists
+ and also to [email protected].
* Review http://wiki.apache.org/velocity/ReleaseProcess for more details.
</echo>
</target>
<!-- =================================================================== -->
+ <!-- Uploads the distribution files after checking that they're ready. -->
+ <!-- =================================================================== -->
+ <target name="publish" depends="publish.upload,publish.howto" if="ready"
+ description="Uploads distribution files and provides instructions"/>
+
+ <!-- =================================================================== -->
<!-- JUnit Tests for Velocity -->
<!-- =================================================================== -->
<target name="test" depends="build-prepare,compile-test"
@@ -1152,6 +1219,31 @@
<!-- =================================================================== -->
+ <!-- Analyze code with Apache RAT -->
+ <!-- =================================================================== -->
+ <target name="rat" depends="package-tgz"
+ description="Runs Apache RAT against the source code.">
+ <!-- TODO: download RAT and deps -->
+ <echo>
+ 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.
+ </echo>
+ <mkdir dir="${build.test.reports}"/>
+ <typedef resource="org/apache/rat/anttasks/antlib.xml"
uri="antlib:rat.anttasks"/>
+ <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
+ reportFile="${build.test.reports}/rat-report.txt">
+ <tarfileset>
+ <gzipresource>
+ <file file="${build.dir}/${final.name}.tar.gz"/>
+ </gzipresource>
+ </tarfileset>
+ </rat:report>
+ <echo>Your RAT report is here: ${build.test.reports}/rat-report.txt</echo>
+ </target>
+
+
+ <!-- =================================================================== -->
<!-- Analyze code with FindBugs -->
<!-- =================================================================== -->
<target name="findbugs" depends="jar">