You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Apache Wiki <wi...@apache.org> on 2007/06/25 10:57:13 UTC
[Jakarta-httpclient Wiki] Update of "HttpComponentsCoreReleaseProcess" by
OlegKalnichevski
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Jakarta-httpclient Wiki" for change notification.
The following page has been changed by OlegKalnichevski:
http://wiki.apache.org/jakarta-httpclient/HttpComponentsCoreReleaseProcess
New page:
##language:en
#pragma section-numbers off
= HttpComponents Core Release Process =
== Release preparation ==
* Make sure there are no open Jira issues targeted for this release
https://issues.apache.org/jira/browse/HTTPCORE
* Review RELEASE_NOTES.txt and make sure all important issues closed since the previous release are included in the release notes
* Generate pre-release JARs by running
{{{
mvn package
}}}
* Download the latest JARDIFF (version 0.2 as of writing; requires Commons CLI 1.x and ASM 2.2.x)
http://www.osjava.org/jardiff/
* Create jardiff.sh shell script or its Windows equivalent
{{{
#!/bin/sh
java -cp commons-cli.jar:asm.jar:jardiff.jar org.osjava.jardiff.Main $*
}}}
* Run the following command for all components that have been previously released
{{{
jardiff -f <previous-release>.jar -t <prerelease>-SNAPSHOT.jar -o text
}}}
* Collect output (by redirecting it to a file) and add it to the 'API changes' of the release notes
{{{
HttpCore API changes (generated by JarDiff 0.2)
--------------------------------------
...
HttpCore NIO API changes (generated by JarDiff 0.2)
--------------------------------------
...
HttpCore NIOSSL API changes (generated by JarDiff 0.2)
--------------------------------------
...
}}}
* Remove 'API changes' section of the previous release to keep release notes file short
* Write an opening statement for the release highlighting the most changes, bug fixed and improvements
* Review the following pages
{{{
src/site/apt/download.apt
src/site/apt/index.apt
}}}
and make adjustments that are necessary
* Generate clover reports
{{{
mvn clean clover:instrument clover:clover
}}}
* Deploy the site to a staging directory and review the resultant site before committing the changes
{{{
mvn site:site site:stage -DstagingDirectory=/home/oleg/stage
}}}
You may need to re-build the site several times until fully satisfied with its content and appearance
Remark: stagingDirectory MUST be an absolute path
* Package the content of the staging directory
* Generate release packages
{{{
mvn assembly:assembly
}}}
* Rename pre-release packages packages
{{{
httpcomponents-core-<version>-SNAPSHOT-bin-win.zip -> httpcomponents-core-<version>-SNAPSHOT-bin.zip
httpcomponents-core-<version>-SNAPSHOT-src-win.zip -> httpcomponents-core-<version>-SNAPSHOT-src.zip
httpcomponents-core-<version>-SNAPSHOT-bin-unix.tar.gz -> httpcomponents-core-<version>-SNAPSHOT-bin.tar.gz
httpcomponents-core-<version>-SNAPSHOT-src-unix.tar.gz -> httpcomponents-core-<version>-SNAPSHOT-src.tar.gz
}}}
* Use this script to sign release packages
The script assumes presence of a functional gpg setup on the local system
{{{
#!/usr/bin/perl -w
# 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`
}
}}}
* Upload the content of the staging directory, RELEASE_NOTES.txt, release packages and corresponding MD5 and signature files to a publicly accessible web space such as people.apache.org
* Deploy pre-release snapshots to the Apache Maven snapshot repository
{{{
mvn deploy -P release
}}}
The 'release' profile parameter will cause release artifacts to be signed prior to deployment to the remote repository
The command assumes presence of a functional gpg setup on the local system
* Invite people on the httpcomponents-dev@jakarta.apache.org list to review the site, release notes, release packages and report problems
---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org