|
Introduction
The Jakarta Commons HttpClient project is following the new
wave of projects that are using Maven to assist in building
the packages and all the documentation including javadoc and the
website. These instructions describe the release process for
HttpClient. While other commons projects may be similar,
these instructions are HttpClient specific, but can be
adapted to suit other projects.
Step By Step Instructions
The following steps are required to create and deploy a release version
of a Commons library package. The example text consistently
assumes that we are releasing version 2.0 of the httpclient
package.
- Announce your proposed release of a particular package to the
commons-httpclient-dev@jakarta.apache.org mailing list,
and ask for a vote. Per the Commons Project charter, votes of
committers on the particular package in question (as listed in the
project.xml file) are binding.
- Check out and thoroughly test the package code that you plan to
release.
- Update release_notes.txt. This file should be updated in CVS when
patches are committed, but it is frequently 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 in the
build.xml ,
project.xml , status.xml , downloads.xml ,
and the HttpMethodBase useragent string. There is an Ant property named
component.version that would be updated to 2.0 .
Check in any files you have modified.
- In your local repository (or on cvs.apache.org) tag only the
files in the subdirectory for this package with the package name (in caps)
and version number for the package you are creating. For example,
cd $JAKARTA_COMMONS_HOME/httpclient
cvs tag HTTPCLIENT_2_0_BETA1
- Regenerate the binary distribution of the code by running
maven dist . Ensure that you use the lowest reasonable jdk
to do the build, 1.2.2. Review the generated documentation
to ensure that it correctly reflects the functionality (and the
version number) of this code.
- Create a news item. This should be added to httpclient/xdocs/news.xml and
the jakarta-site2/xdocs/site/news.xml as well as a one liner in
jakarta-site2/xdocs/index.html
- Run
maven site:generate to generate the website documentation. Browse
the generated docs in the target directory to ensure that they
are correct and complete. Modify the xdocs as required and when
satisfied run maven -Dmaven.username=your.apache.id@ site:deploy
to deploy the site to daedalus.
- SSH to daedalus (aka jakarta.apache.org) and create a new subdirectory for the
release you are about to create. For example:
cd /www/jakarta.apache.org/builds/jakarta-commons/release/commons-httpclient/
mkdir v2.0
NOTE: Make sure that the directory you create is group writable.
- Upload the binary and source distribution files to the newly created directory
on daedalus.
scp target/distributions/* \
your_apache_id@jakarta.apache.org:\
/www/jakarta.apache.org/builds/jakarta-commons/release/commons-httpclient/v2.0/
NOTE: Make sure that the files you copy are group writable.
- The release packages must also be uploaded to www.apache.org which is also
hosted by daedalus.
scp target/distributions/commons-httpclient-2.0-src.* \
your_apache_id@jakarta.apache.org:\
/www/www.apache.org/dist/jakarta/commons/httpclient/source
scp target/distributions/commons-httpclient-2.0.* \
your_apache_id@jakarta.apache.org:\
/www/www.apache.org/dist/jakarta/commons/httpclient/binary
NOTE: Make sure that the files you copy are group writable.
- Follow standard procedures to update the Jakarta web site (stored in
CVS repository
jakarta-site2 to reflect the availability
of the new release. Generally, you will be updating the following
pages:
-
xdocs/site/binindex.xml - Create a link to the
release directory under the Release Builds
heading.
-
xdocs/site/sourceindex.xml - Create a link to the
release directory under the Release Builds
heading.
-
xdocs/site/news.xml - Create a news item that
describes the new release, and includes hyperlinks to the
release directory.
-
xdocs/index.xml - Create a one line news item
that links to the full item in site/news.xml.
- Update components.xml in the jakarta-commons/xdocs CVS and then build the
docs by running ant (this may require some configuration). CVS commit,
then if you have an account on daedalus, update the commons website with a
cvs udpate in /www/jakarta.apache.org/commons.
- Announce the availability of the new package on the following mailing lists:
- announcements@jakarta.apache.org
- commons-dev@jakarta.apache.org
- commons-user@jakarta.apache.org
- commons-httpclient-dev@jakarta.apache.org
- Check in bugzilla for all bugs which have been marked
LATER
and update their status appropriately. If you need to have some changes made
to bugzilla you can contact mvdb@apache.org
- Deploy the jar file to the ibiblio repository.
maven jar:deploy
|