|
Size: 6982
Comment: minor edit
|
← Revision 4 as of 2010-09-30 02:48:47 ⇥
Size: 6931
Comment: spam
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 56: | Line 56: |
| https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/branches/HTTPCLIENT_3_0_BRANCH https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/tags/HTTPCLIENT_3_0_1 [[http://www.islimphonewallet.com|iphone wallet]] }}} | https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/branches/HTTPCLIENT_3_0_BRANCH https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/tags/HTTPCLIENT_3_0_1}}} |
The following steps are required to create and deploy a release version of the HttpClient library package. The example text consistently assumes that we are releasing version 3.0.1 of the package.
Pre Release
Announce your proposed release to the httpcomponents-dev@jakarta.apache.org mailing list, and ask for a vote. Per the Jakarta Project charter, votes of Jakarta PMC members are considered binding.
Assuming the vote is successful send an email to httpcomponents-dev@jakarta.apache.org and private@jakarta.apache.org with the outcome of the vote. Something like the following:
Subject: [VOTE][RESULT] Commons HttpClient 3.0.1 released The vote to release Commons HttpClient 3.0.1 has passed with the following results +1 Michael Becke <mbecke -at- apache.org> Ortwin Glück <oglueck -at- apache.org> Oleg Kalnichevski <olegk -at- apache.org> Roland Weber <rolandw -at- apache.org> --- Original thread: http://www.mail-archive.com/httpclient-dev%40jakarta.apache.org/msg03653.html
Building the Release
Documentation
- Update release_notes.txt - This file should be updated when patches are committed, but sometimes is not. Be sure all relevant changes since the last release are included. This file should be published along with the release source and binary distributions.
- Update the project version number.
build.xml - change the property component.version
project.xml - change <currentVersion/> and add a <version/> element
- src/java/org/apache/commons/httpclient/params/DefaultHttpParamsFactory.java - update the useragent string
doap_httpclient.rdf - update the <release> section
- Update project site documentation.
- xdocs/status.xml - change the current status text, the link to next release bugs, and the release info link
- xdocs/downloads.xml - change the release number and date and the Maven dependency xml
- xdocs/news.xml - add a news item for the release. This can be reused in the announcement email and the Jakarta site news.
Make sure you have at least version 1.10 of the maven-xdoc-plugin as previous versions are affected by a bug. If not, update:
maven plugin:download -DartifactId=maven-xdoc-plugin -DgroupId=maven -Dversion=1.10
Generate the HttpClient site locally and validate.
maven site:generate
- Checkin all changes.
svn commit -m 'Changes for 3.0.1 release'
Release Package
- Tag the code in SVN.
- When releasing off a branch
{{{svn copy -m "HttpClient release 3.0.1"
- When releasing off a branch
https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/branches/HTTPCLIENT_3_0_BRANCH https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/tags/HTTPCLIENT_3_0_1}}}
- When releasing off the trunk
{{{svn copy -m "HttpClient release 3.1-alpha1"
https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/trunk https://svn.apache.org/repos/asf/jakarta/commons/proper/httpclient/tags/HTTPCLIENT_3_1_ALPHA1}}}
- Make sure you running a 1.2 JVM. This is necessary to ensure that the generated binaries are 1.2 compatible.
- Generate the binary packages.
maven httpclient:dist
- Verify the contents of the generated packages.
Sign and checksum the generated packages (*.zip, *.tar.gz, and *.jar). Details for this are covered in the Commons release documentation. Below is a quick Perl script to accomplish this.
# signs and checksums all files given as command line args foreach my $file (@ARGV) { print $file."\n"; my $md5 = `md5sum $file`; `echo "$md5" > $file.md5`; $md5 =~ /(\w+)\s+/; $md5 = $1; # verify md5 my $testMd5 = `openssl md5 < $file`; chomp($testMd5); if ($testMd5 ne $md5) { die 'md5 does not equal'; } `gpg --armor --output $file.asc --detach-sig $file`; # verify signature `gpg --verify $file.asc $file` }Copy the release materials to your personal Apache web directory and invite the other HttpClient committers to test out the release packages before you continue.
Publishing the Release
Copy binary and source distributions into the HttpClient dist directory.
export DIST_DIR=/www/www.apache.org/dist/jakarta/commons/httpclient cp commons-httpclient-3.0.1-src* $DIST_DIR/source/ cp commons-httpclient-3.0.1.tar* commons-httpclient-3.0.1.zip* $DIST_DIR/binary/ cp release-notes.txt $DIST_DIR/RELEASE_NOTES.txt
Copy the jar and POM to the ibiblio dist directory.
export IBIBLIO_DIR=/www/people.apache.org/repo/m1-ibiblio-rsync-repository/commons-httpclient cp commons-httpclient-3.0.1.jar* $IBIBLIO_DIR/jars/ cp project.xml $IBIBLIO_DIR/poms/commons-httpclient-3.0.1.pom
Be sure that all files belong to the jakarta group and that they are group writable.
Updating the Jakarta website
Check out the jakarta site directory from SVN.
Update news.xml and xdocs/downloads/downloads.xml to.
Run ant from the site directory to regenerate the site docs.
- Checkin the modified docs.
svn commit -m "Updates for the HttpClient 3.0.1 release"
From people.apache.org update the Jakarta site.
cd /www/jakarta.apache.org/ svn update
Redeploy the HttpClient site
maven -Dmaven.username=mbecke site:deploy
Accounce the release
- Send an email announcing the release to the following lists:
The email should look something like the following:
Subject: [ANNOUNCEMENT] Commons HttpClient 3.1.1 Released The HttpComponents project is pleased to announce the release of HttpClient 3.1.1. This version fixes a number of bugs found since the release of 3.1. All users of the Commons HttpClient are encouraged to upgrade. Please download and enjoy. Download - <http://hc.apache.org/downloads.cgi> Release notes - <http://www.apache.org/dist/httpcomponents/commons-httpclient/RELEASE_NOTES.txt> HttpClient site - <http://hc.apache.org/httpclient-3.x/> About Commons HttpClient - Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. The Commons HttpClient seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations. Enjoy, HttpComponents Team