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>