You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2003/01/25 18:55:21 UTC
cvs commit: jakarta-commons/httpclient/xdocs releases.xml
jsdever 2003/01/25 09:55:21
Added: httpclient/xdocs releases.xml
Log:
First stab on a release process.
Revision Changes Path
1.1 jakarta-commons/httpclient/xdocs/releases.xml
Index: releases.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Creating HttpClient Package Releases</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
<author email="jsdever@apache.org">Jeff Dever</author>
</properties>
<body>
<section name="Introduction">
<p>The <em>Jakarta Commons HttpClient</em> 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
<em>HttpClient</em>. While other commons projects may be similar,
these instructions are <em>HttpClient</em> specific, but can be
adapted to suit other projects.
</p>
</section>
<section name="Step By Step Instructions">
<p>The following steps are required to create and deploy a release version
of a Commons library package. The <code>example text</code> consistently
assumes that we are releasing version <em>1.2</em> of the <em>httpclient</em>
package.</p>
<ol>
<li>Announce your proposed release of a particular package to the
<strong>commons-httpclient-dev@jakarta.apache.org</strong> 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
<code>project.xml</code> file) are binding.<br/><br/></li>
<li>SSH to daedalus (aka jakarta.apache.org) and create a new subdirectory for the
release you are about to create. For example:
<pre>
cd /www/jakarta.apache.org/builds/jakarta-commons/release/commons-httpclient/
mkdir v1.2
</pre>
NOTE: Make sure that the directory you create is group writable.</li>
<li>Check out and thoroughly test the package code that you plan to
release.<br/><br/></li>
<li>Update the project version number in the <code>build.xml</code> and
<code>project.xml</code> files.
There is an Ant property named <code>component.version</code> that would be
updated to <code>1.2</code>. Check in any files you have
modified.<br/><br/></li>
<li>In your local repository (or on cvs.apache.org) tag <strong>only</strong> 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,
<pre>
cd $JAKARTA_COMMONS_HOME/httpclient
cvs tag HTTPCLIENT_1_2
</pre></li>
<li>Regenerate the binary distribution of the code by running
<code>maven dist</code>. Review the generated documentation
to ensure that it correctly reflects the functionality (and the
version number) of this code.<br/><br/></li>
<li>Create a news item. This should be added to xdocs/news.xml and
the jakarta-site2/xml/site/news.xml as well as a one liner in
jakarta-site2/xdocs/index.html
<li>Run <code>maven site:generate</code> 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 <code>maven site:deploy</code> to deploy the site to
daedalus.
<li>Update jakarta-site2 module with the news item in xdocs/site/news.xml
and a one liner in xdocs/index.xml. jakarta-site2 needs to be
checked out from the private cvs. After changes are made run
the build.sh script to generate the site. Browse the generated
html documentation and then commit after you are satisfied.
<li>Based on the contents of the <code>dist</code> subdirectory that
was created by the previous step, create the binary distributions
for this release. For example,
<pre>
cd $JAKARTA_COMMONS_HOME/httpclient
mv dist commons-httpclient-1.2
tar zcvf commons-httpclient-1.2.tar.gz commons-httpclient-1.2
zip -r commons-httpclient-1.2.zip commons-httpclient-1.2
mv commons-httpclient-1.2 dist
</pre></li>
<li>Upload the binary and source distribution files to the newly created directory
on daedalus.
<pre>
cd $JAKARTA_COMMONS_HOME/httpclient/target
scp distributions/* \
your_apache_id@jakarta.apache.org:/www/jakarta.apache.org/builds/jakarta-commons/release/commons-httpclient/v1.2/
</pre>
NOTE: Make sure that the files you copy are group writable.</li>
<li>Follow standard procedures to update the Jakarta web site (stored in
CVS repository <code>jakarta-site2</code> to reflect the availability
of the new release. Generally, you will be updating the following
pages:
<ul>
<li><code>xdocs/site/binindex.xml</code> - Create a link to the
release directory under the <strong>Release Builds</strong>
heading.</li>
<li><code>xdocs/site/sourceindex.xml</code> - Create a link to the
release directory under the <strong>Release Builds</strong>
heading.</li>
<li><code>xdocs/site/news.xml</code> - Create a news item that
describes the new release, and includes hyperlinks to the
release directory.</li>
</ul>
<ul>
<li>Then run ant at the base to generate the new docs and commit the changes to jakarta-site2.
<pre>
ant
cvs commit -m "update to reflect release of commons-httpclient"
</pre></li>
<li>If you have an account on daedalus, log in and update the web site:
<pre>
cd /www/jakarta.apache.org
cvs update index.html site
</pre></li>
<li>You can also update the API docs and Release notes link:
<pre>
cd /www/jakarta.apache.org/commons/httpclient
rm RELEASE-NOTES.txt
rm api
rm -rf commons-httpclient-1.1
tar zxf ../../builds/jakarta-commons/release/commons-httpclient/v1.2/commons-httpclient-1.2.tar.gz
ln -s commons-httpclient-1.2/RELEASE-NOTES.txt RELEASE-NOTES.txt
ln -s commons-httpclient-1.2/docs/api api
</pre></li>
</ul>
<br/>
</li>
<li>Update the pertinent documents in the jakarta-commons/xdocs CVS and then build the docs by running ant. These pages will probably include components.xml and httpclient.xml. CVS commit, then if you have an account on daedalus, update the commons website with a cvs udpate in /www/jakarta.apache.org/commons.<br/></li>
<li>Announce the availability of the new package on (at least) the
following mailing lists:
<ul>
<li>announcements@jakarta.apache.org</li>
<li>commons-dev@jakarta.apache.org</li>
<li>commons-user@jakarta.apache.org</li>
<li>commons-httpclient-dev@jakarta.apache.org</li>
</ul><br/></li>
<li>Ensure that the pertinent documents in the component's home directory are updated to reflect the new release.
In particular :
<ul>
<li>In <strong>status.xml</strong>:
<ul>
<li>Update <code>Release Info</code> section</li>
<li>Ensure <code>Dependencies</code> is correct</li>
<li>Ensure completed tasks are removed from <code>To Do</code> list</li>
</ul>
</li>
<li>Update build with new current version</li>
</ul>
<br/></li>
<li>Check in bugzilla for all bugs which have been marked <code>LATER</code> and update their status appropriately. If you need to have some changes made to bugzilla you can contact <a href="mailto:mvdb@apache.org">mvdb@apache.org</a><br/><br/></li>
</ol>
</section>
</body>
</document>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>