You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2013/03/23 18:23:54 UTC
svn commit: r1460196 -
/commons/cms-site/trunk/content/xdoc/releases/prepare.xml
Author: bodewig
Date: Sat Mar 23 17:23:54 2013
New Revision: 1460196
URL: http://svn.apache.org/r1460196
Log:
Nexus and svnpubsub for release candidates
Modified:
commons/cms-site/trunk/content/xdoc/releases/prepare.xml
Modified: commons/cms-site/trunk/content/xdoc/releases/prepare.xml
URL: http://svn.apache.org/viewvc/commons/cms-site/trunk/content/xdoc/releases/prepare.xml?rev=1460196&r1=1460195&r2=1460196&view=diff
==============================================================================
--- commons/cms-site/trunk/content/xdoc/releases/prepare.xml (original)
+++ commons/cms-site/trunk/content/xdoc/releases/prepare.xml Sat Mar 23 17:23:54 2013
@@ -432,7 +432,9 @@
</p>
<p>
Now create the tag for the release candidate. There are two options how to do that,
- you can either use the Maven release plugin or create the tag manually.</p>
+ you can either use the Maven release plugin or create the tag manually. In either case, record
+ the svn revision number, you'll need it for the release vote mail.</p>
+
<h4>Manual Method<a name="Manual_Method"></a></h4>
<p>Create a clean SVN workspace for the release candidate:</p>
<pre>
@@ -491,65 +493,56 @@
for further details.
(the compiler.source and compiler.target versions only affect source syntax and class file format)
</p>
- <p>
- Post the release candidate into the public folder <em>~/public_html</em> in your home directory
- on <code>people.apache.org</code>.
- </p>
+
+ <p>To create all distributables and upload the Maven artifacts to the ASF Nexus instance run
+ <pre>
+ mvn deploy -Prelease
+ </pre>
+ </p>
+ <p>This will PGP-sign all artifacts and upload them to a new staging repository, Nexus itself will create MD5
+ and SHA1 checksums for all files that have been uploaded.</p>
+ <p>Unfortunately this uploads more than should be part of the Maven repository, in particular the binary and source
+ distribution <code>.tar.gz</code> and <code>.zip</code> files are there as well. Before you
+ <a href="http://www.apache.org/dev/publishing-maven-artifacts.html#close-stage">close</a> the staging
+ repository you must remove the tarballs/zips together with their PGP signatures and checksums using
+ the Nexus web interface. While
+ you are at it you can also remove the checksums Nexus created for the PGP signatures of the
+ remaining artifacts, they are not needed at all.</p>
+ <p><em>If anybody knows how we can avoid uploading the distributions, please lend a hand. The manual step is
+ not only annoying, uploading the files also wastes time and bandwidth.</em></p>
+ <p>Once the unneeded files have been deleted you can now close the staging repository.</p>
+ <p>The tarballs and zips need to go to
+ <a href="https://dist.apache.org/repos/dist/dev/commons/">https://dist.apache.org/repos/dist/dev/commons/</a>. If
+ this is the first release of foo after svnpubsub has been enabled you have to create the directory
+ structure for your component.</p>
+ <pre>
+ svn mkdir -m "Creating initial directory structure for foo" https://dist.apache.org/repos/dist/dev/commons/foo
+ svn mkdir -m "Creating initial directory structure for foo" https://dist.apache.org/repos/dist/dev/commons/foo/binaries
+ svn mkdir -m "Creating initial directory structure for foo" https://dist.apache.org/repos/dist/dev/commons/foo/source
+ </pre>
+ <p>Then check out <code>https://dist.apache.org/repos/dist/dev/commons/foo</code> and copy the tarballs, checksums and
+ PGP signatures to the appropriate directories. You can find those artifacts inside your local Maven repository.
+ The procedure will be something like (where <code>release_path</code> points to your working copy of the dist repository):</p>
+ <pre>
+ version=1.2
+ repo_path=~/.m2/repository/org/apache/commons/commons-foo/${version}
+ release_path=~/foo-release
+ cp ${repo_path}/*.bin.zip* ${release_path}/binaries
+ cp ${repo_path}/*.bin.tar.gz* ${release_path}/binaries
+ cp ${repo_path}/*.src.zip* ${release_path}/source
+ cp ${repo_path}/*.src.tar.gz* ${release_path}/source
+ cp RELEASE-NOTES.txt ${release_path}
+ </pre>
+ <p><code>svn add</code> the files and commit them. Again, record the revision number for the vote email.</p>
</subsection>
<subsection name='Create the Release Candidate Website'>
<p>
- As well as putting up the source and binary distributions in your home directory on people.apache.org for
- others to download and verify, the new website and Maven artifacts should also be published there. If using Maven,
+ The new website should be published in your home directory on people.apache.org. If using Maven,
run "mvn site" locally, tar or zip the site in target/ and scp and unpack the files
- on people.apache.org.
+ on people.apache.org in a directory <code>~/public_html/foo-1.2-RC1</code>.
</p>
<p>
- The instructions for <a href="release.html">releasing to the mirrors</a> assume the following directory
- structure for the release candidate website, which you should set up in <code>public_html</code> in your
- home directory on people.apache.org, with "RC1" replaced by whatever the current RC number is:
- <pre>
- ~/public_html/foo-1.2-RC1 (release notes, distribution tar/zips with sigs and hashes)
- ~/public_html/foo-1.2-RC1/site (output of "mvn site" run from the RC tag)
- ~/public_html/foo-1.2-RC1/maven (Maven pom, jars with sigs and hashes) </pre>
- The following script creates a local directory <code>${release_path}</code> with the appropriate contents.
- This directory can then be renamed, tarred/zipped and copied to your public_html to be unpacked there. The
- script variable <code>${repo_path}</code> needs to point to the local Maven repository root for the component,
- for example: <pre>
- version=1.2
- repo_path=~/.m2/repository/org/apache/commons/commons-foo/${version}
- release_path=~/foo-release </pre>
- <pre>
- # Generate the release artifacts and install them locally
- mvn -Prc -DcreateChecksum=true install
- #
- # Copy the zips/tarballs and release notes to release directory
- rm -rf ${release_path}
- mkdir ${release_path}
- cp ${repo_path}/*.zip ${release_path}
- cp ${repo_path}/*.zip.* ${release_path}
- cp ${repo_path}/*.gz ${release_path}
- cp ${repo_path}/*.gz.* ${release_path}
- cp RELEASE-NOTES.txt ${release_path}
- #
- # Copy site
- cp -R target/site ${release_path}
- #
- # Copy Maven artifacts
- cp -R ${repo_path} ${release_path}
- #
- # Rename Maven directory
- mv ${release_path}/${version} ${release_path}/maven
- #
- # Delete tars/zips from Maven subdirectory
- rm ${release_path}/maven/*.zip
- rm ${release_path}/maven/*.zip*
- rm ${release_path}/maven/*.gz
- rm ${release_path}/maven/*.gz* </pre></p>
- <p>
- Be sure to check the signatures and hashes after copying and unpacking the files on people.apache.org.
- </p>
- <p>
Note that when verifying this candidate site you need to be careful of absolute
URLs; following these will lead to the currently published site, not to the
equivalent page on the new site being evaluated.
@@ -570,30 +563,30 @@
so I would like to release Foo 1.2.
Foo 1.2 RC1 is available for review here:
- http://people.apache.org/~luckyrm/foo-1.2-RC1/
+ https://dist.apache.org/repos/dist/dev/commons/foo/ (svn revision XYZ)
Maven artifacts are here:
- http://people.apache.org/~luckyrm/foo-1.2-RC1/maven
+ https://repository.apache.org/content/repositories/orgapachecommons-ABC/org/apache/commons/commons-foo/1.2/
Details of changes since 1.1 are in the release notes:
- http://people.apache.org/~luckyrm/foo-1.2-RC1/RELEASE-NOTES.txt
- http://people.apache.org/~luckyrm/foo-1.2-RC1/site/changes-report.html
+ https://dist.apache.org/repos/dist/dev/commons/foo/RELEASE-NOTES.txt
+ http://people.apache.org/~luckyrm/foo-1.2-RC1/changes-report.html
I have tested this with JDK 1.3, 1.4, 1.5 and 1.6 using maven2.
The tag is here:
- http://svn.apache.org/repos/asf/commons/proper/foo/tags/FOO_1_2_RC1/
+ http://svn.apache.org/repos/asf/commons/proper/foo/tags/FOO_1_2_RC1/ (svn revision DEF)
Site:
- http://people.apache.org/~luckyrm/foo-1.2-RC1/site/
+ http://people.apache.org/~luckyrm/foo-1.2-RC1/
(note some *relative* links are broken and the 1.2 directories are
not yet created - these will be OK once the site is deployed)
Clirr Report (compared to 1.1):
- http://people.apache.org/~luckyrm/foo-1.2-RC1/site/clirr-report.html
+ http://people.apache.org/~luckyrm/foo-1.2-RC1/clirr-report.html
RAT Report:
- http://people.apache.org/~luckyrm/foo-1.2-RC1/site/rat-report.html
+ http://people.apache.org/~luckyrm/foo-1.2-RC1/rat-report.html
Votes, please. This vote will close in 72 hours, 0400 GMT 31-March 2010