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="[EMAIL PROTECTED]">Commons Documentation Team</author> <author email="[EMAIL PROTECTED]">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>[EMAIL PROTECTED]</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/* \ [EMAIL PROTECTED]:/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>[EMAIL PROTECTED]</li> <li>[EMAIL PROTECTED]</li> <li>[EMAIL PROTECTED]</li> <li>[EMAIL PROTECTED]</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:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a><br/><br/></li> </ol> </section> </body> </document>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>