unfinished release guide. It would be nice to have a html version.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@650139 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2008-04-21 13:31:53 +00:00
parent 7ef12296b5
commit 5e615eeeba
2 changed files with 135 additions and 101 deletions

View File

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
<document>
<header>
<title>POI Release Guide</title>
<authors>
<person name="Yegor Kozlov" email="yegor@apache.org"/>
</authors>
</header>
<body>
<section>
<title>POI Release Guide</title>
<section><title>Prerequisites</title>
<ol>
<li> You should read the <link href="http://apache.org/dev/release.html">Apache Release FAQ</link></li>
<li> You must have shell access to people.apache.org</li>
<li> Release manager must have his public key appended to the KEYS file checked in to SVN and the key published on one of the public key servers.
More info can be found here: <link href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</link></li>
<li> You must have <link href="http://java.sun.com">JDK 1.4 / 1.5</link></li>
<li> You must have the following utilities installed on your local machine and available in your path:
<ul>
<li><link href="http://www.openssh.com">ssh</link></li>
<li><link href="http://www.gnupg.org">gnupg</link></li>
<li><link href="http://www.openssl.org">openssl</link></li>
</ul>
For Windows users, install Cygwin and make sure you have the above components.
</li>
<li> The POI build system requires two components to perform a build
<ul>
<li><link href="http://ant.apache.org">Ant</link></li>
<li><link href="http://forrest.apache.org/">Forrest</link></li>
</ul>
</li>
</ol>
</section>
<section><title>Building Release Artifacts</title>
<ul>
<li>Ensure the changelog is up to date</li>
<li>Tag SVN:
<br/>
<code> svn cp https://svn.apache.org/repos/asf/poi/trunk \ </code> <br/>
<code> https://svn.apache.org/repos/asf/poi/tags/REL_3_0_2_BETA1 \ </code> <br/>
<code> -m "tag trunk as REL_3_0_2_BETA1" </code>
</li>
<li>Update version.id in build.xml</li>
<li>Start a new section for the next release in xdocs/sites.xml and status.xml in the documentation/content/xdocs directory</li>
<li>Checkout the new tag:<br/>
<code>
svn checkout https://svn.apache.org/repos/asf/poi/tags/REL_3_0_2_BETA1
</code>
</li>
<li>Merge if needed: <br/>
<code> cd tags/REL_3_0_2_BETA1 </code><br/>
<code> svn merge https://svn.apache.org/repos/asf/poi/tags/REL_3_0_2_BETA1 \ </code> <br/>
<code> https://svn.apache.org/repos/asf/poi/trunk </code>
</li>
<li>Build as if the vote had passed. <br/>
Typically a release vote lasts 7 days so the filename dates should be +7 days from current date.<br/>
<code> cd tags/REL_3_0_2_BETA1 </code><br/>
Main distribution:<br/>
<code> ant dist </code> <br/>
Maven artifacts:<br/>
<code> ant maven-dist </code>
</li>
<li>Create MD5 checksums for all artifacts to be published:<br/>
<code>openssl md5 &lt; file &gt; file.md5</code><br/>
</li>
<li>Signing all artifacts to be published:<br/>
<code>gpg --armor --output file.asc --detach-sig $file; </code><br/>
Verify signatures:
<code>gpg --verify file.asc file</code><br/>
</li>
<li>Upload to your area at people.apache.org<br/></li>
</ul>
</section>
</section>
</body>
</document>

View File

@ -0,0 +1,135 @@
POI Release Guide
(I) Prerequisites
1. You should read the <a href="http://apache.org/dev/release.html">Apache Release FAQ</a>
2. You must have shell access to people.apache.org
3. Release manager must have his public key appended to the KEYS file checked in to SVN and the key published on one of the public key servers.
More info can be found here: <a href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/dev/release-signing.html</a>
4. You must have <a href="java.sun.com">JDK 1.4 / 1.5</a>
5. You must have the following utilities installed on your local machine and available in your path:
* <a href="www.openssh.com">ssh</a>
* <a href="www.gnupg.org">gnupg</a>
* <a href="www.openssl.org">openssl</a>
For Windows users, install Cygwin and make sure you have the above utilities
6. The POI build system requires two components to perform a build
* <a href="ant.apache.org">Ant</a>
* <a href="http://forrest.apache.org/">Forrest</a>.
POI 3.0.2 and 3.1 were built using Ant 1.6.2 and Forrest 0.5
(II) Making release artefacts
1. Update version id in build.xml.
2. Tag current version. Include the current revision number in the comment
{code}
$ svn cp https://svn.apache.org/repos/asf/poi/trunk \
https://svn.apache.org/repos/asf/poi/tags/$TAG \
-m "tag r649911 as 3.1-beta1"
{code}
where $TAG is the release tag, for example, REL_3_1_BETA1
3. Checkout the tagged version
{code}
cd tags
svn checkout https://svn.apache.org/repos/asf/poi/tags/TAG
{code}
4. Merge (if required)
{code}
cd $TAG
$ svn merge https://svn.apache.org/repos/asf/poi/tags/TAG \
https://svn.apache.org/repos/asf/poi/trunk
{code}
5. Start a new section in sites.xml and status.xml.
6. Build as if the vote had passed. The buid date must be +7 days from current.
{code}
ant build
{code}
After build you should have the following files in the build/dist:
{code}
poi-$TAG-$DATE.jar
poi-bin-$TAG-$DATE.tar.gz
poi-bin-$TAG-$DATE.zip
poi-contrib-$TAG-$DATE.jar
poi-scratchpad-$TAG-$DATE.jar
poi-src-$TAG-$DATE.tar.gz
poi-src-$TAG-$DATE.zip
{code}
where $TAG is the release tag specified in build.xml in the version.id property, $DATE is the release date (typically +7 days from the actual build date).
7. Build Mavn POM files
{code}
ant maven-dist
{code}
8. Signing the release artifacts:
{code}
cd build/dist
for i in *.zip ; do
gpg --armor --output $i.asc --detach-sig $i;
done
for i in *.gz ; do
gpg --armor --output $i.asc --detach-sig $i;
done
{code}
Verify the signatures:
{code}
gpg --multifile --verify *.asc
{code}
9. Create MD5 checksums for all artifacts to be published:
{code}
for i in *.zip ; do
openssl md5 < $i > $i.md5
done
for i in *.gz ; do
openssl md5 < $i > $i.md5
done
{code}
10. Upload to your area at people.apache.org.
There should be two directories:
main
maven
Make sure that the all files have read permission.
(III) After the vote:
Log-in on people.apache.org
1. Go to ~/POI-3.1-BETA1
cd ~/POI-3.1-BETA1/main
BETA and ALPHA releases:
cp *-src-* /www/www.apache.org/dist/poi/dev/src
cp *-bin-* /www/www.apache.org/dist/poi/dev/bin
FINAL release:
cp *-src-* /www/www.apache.org/dist/poi/release/src
cp *-bin-* /www/www.apache.org/dist/poi/release/bin
cd ~/POI-3.1-BETA1/maven
cp -r org.apache.poi /www/people.apache.org/repo/m1-ibiblio-rsync-repository/
cp -r poi/poms /www/people.apache.org/repo/m1-ibiblio-rsync-repository/poi
2. Make sure that the files are owned by the unix group apcvs and that they are writable by this group.
3. Wait for the distributions to appear on your favourite mirror
4. Send announcements:
- to poi-user and poi-dev lists
- send announcements to announcement@apache.org, announcements@jakarta.apache.org