You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2009/11/13 07:29:19 UTC

svn commit: r835754 - in /maven/site/trunk/src/site/apt/developers: release/apache-release.apt release/maven-plugin-release.apt release/maven-proper-release.apt release/maven-shared-release.apt release/releasing.apt website/deploy-maven-current-ref.apt

Author: brett
Date: Fri Nov 13 06:29:19 2009
New Revision: 835754

URL: http://svn.apache.org/viewvc?rev=835754&view=rev
Log:
update the release documentation to separate general Apache releases using Maven, Maven plugins, Maven shared, and Maven itself

Added:
    maven/site/trunk/src/site/apt/developers/release/apache-release.apt
      - copied, changed from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt
    maven/site/trunk/src/site/apt/developers/release/maven-plugin-release.apt
      - copied, changed from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt
    maven/site/trunk/src/site/apt/developers/release/maven-proper-release.apt
      - copied, changed from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt
    maven/site/trunk/src/site/apt/developers/release/maven-shared-release.apt
      - copied, changed from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt
Modified:
    maven/site/trunk/src/site/apt/developers/release/releasing.apt
    maven/site/trunk/src/site/apt/developers/website/deploy-maven-current-ref.apt

Copied: maven/site/trunk/src/site/apt/developers/release/apache-release.apt (from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt)
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/release/apache-release.apt?p2=maven/site/trunk/src/site/apt/developers/release/apache-release.apt&p1=maven/site/trunk/src/site/apt/developers/release/releasing.apt&r1=835736&r2=835754&rev=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/apache-release.apt Fri Nov 13 06:29:19 2009
@@ -23,11 +23,10 @@
 ~~ specific language governing permissions and limitations
 ~~ under the License.
 
-Releasing A Maven Project
-
- What follows is a description of releasing a Maven project to a staging repository, whereupon it is scrutinized by
- the community, approved, and transferred to a production repository.
+Releasing a Maven-based project at Apache
 
+  All Maven-based projects take similar steps to release at the ASF.
+  
 * {Prerequisites}
 
  Be sure that:
@@ -41,11 +40,12 @@
 
   * you have a Subversion 1.5+ client installed and on your shell's path. See {{{http://subversion.tigris.org/}http://subversion.tigris.org/}}.
 
-  * you have a Java 1.4.2 JDK installed and on your shell's path. See {{{http://java.sun.com/j2se/1.4.2/download.html}http://java.sun.com/j2se/1.4.2/download.html}}.
+  * you have JDK 5 installed and on your shell's path.
 
-  * you have set the environment variable MAVEN_OPTS=-Xmx512m
+  * if you receive an OutOfMemoryError during the build, make sure to have set the environment variable MAVEN_OPTS=-Xmx512m
 
-  * you are using Maven 2.0.x (or 2.2.x), as Maven 2.1.x is known to produce wrong gpg pom signatures (see {{{http://jira.codehaus.org/browse/MGPG-14}MGPG-14}}).
+  * you must use Maven 2.2.1, as Maven 2.0.x cannot deploy over SCP to the ASF, and Maven 2.1.0 and 2.2.0 produce
+    incorrect GPG signatures and checksums respectively.
 
   []
 
@@ -71,8 +71,7 @@
 </settings>
 +-----+
 
- Everything that you need to release has been configured in the POM all Maven projects inherit from. The release plugin
- configuration being used is the following:
+ Everything that you need to release has been configured in the POM all ASF projects should inherit from. The release plugin configuration being used is the following:
 
 %{snippet|id=release-plugin-configuration|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
 
@@ -80,18 +79,7 @@
 
 %{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
 
-* Verify you are using JDK 1.4.2
-
-  Maven 2.0.X and its plugins should be built with JDK 1.4.2.
-
-+-----+
->mvn --version
-...
-Maven version: 2.0.X
-Java version: 1.4.2_18
-+-----+
-
-* Release Process for Part Of Maven
+* Before Release
 
  [[1]] Prepare your POMs for release:
 
@@ -137,7 +125,7 @@
  <<Note:>> You should verify the deployment under Maven Snapshot repository on Apache.
 
 +-----+
-https://repository.apache.org/content/repositories/snapshots/org/apache/maven/plugins/maven-XXX-plugin/Y.Z-SNAPSHOT/
+https://repository.apache.org/content/repositories/snapshots/...
 +-----+
 
  [[3]] Prepare the release
@@ -186,45 +174,11 @@
 [../../images/Validate_Artifacts.png] Validating the artifacts
 
  [[7]] Stage the latest documentation
-
- The plugin parent POM is configured to stage the documentation in a "versioned" directory
- such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
-
-   [[a]] Stage the documentation for the current release version (not the new snapshot).
-
-+------+
-cd target/checkout
-mvn site:stage-deploy -Preporting
-+------+
-
-   <<Note:>> It requires Maven 2.1.0 or higher to successfully deploy to <<<people.apache.org>>> via SSH. Older Maven
-   versions will fail due to <<<com.jcraft.jsch.JSchException: Algorithm negotiation fail>>>.
-
-   <<Note:>> You should verify the deployment of the site on the Maven website
-   (you need to wait {{{http://www.apache.org/dev/project-site.html}the sync}}).
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
-+-----+
-
-   Some developers have {{{http://www.nabble.com/site%3Astage-deploy-asks-for-a-password--tt15582961s177.html}
-   reported problems}} with the <<<site:stage-deploy>>> goal.  In that case, you can stage the site locally and
-   upload it manually:
-
-+------+
-mvn site:stage -Preporting
-scp -r target/staging/people.apache.org/www/maven.apache.org/plugins/maven-XXX-plugin YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/plugins/maven-XXX-plugin-Y.Z
-+------+
-
-   [[b]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
-   change to the directory above the staging directory. That would be <<</www/maven.apache.org/plugins>>> for a plugin.
-   Then run these commands:
-
-+------+
-find . -type d -exec chmod a+rx,g+w {} \;
-find . -type f -exec chmod 664 {} \;
-+------+
-
+ 
+ If your project uses Maven to generate documentation and it is not included as part of
+ the release process, stage it now for inclusion in the release vote. For Maven projects,
+ refer to the specific instructions for the project you are releasing.
+ 
  [[8]] Propose a vote on the dev list with the closed issues, the issues left,
  the staging repository and the staging site. For instance:
 
@@ -277,7 +231,7 @@
 'minimum of three +1 votes' rule is universal.
 +-----+
 
-  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}}
+  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}} (or corresponding group for your project).
 
   Once a vote is successful, post the result to the dev list and cc the PMC. For instance:
 
@@ -315,63 +269,17 @@
  expect them.
 
  [[11]] Deploy the current website
+ 
+   As above, deploy the web site if appropriate and update the project site for the
+   new release.
 
- <<Note:>> Be sure to generate and deploy the site using the same version of the release. Typically, you need to check
- out the tag (or go to <<<target/checkout>>>)
-
-+-----+
-cd target\checkout
-mvn site-deploy -Preporting
-+-----+
-
-  <<Note:>> You can not just copy the documentation from Step 7 into the released documentation as the links are not identical.
-  See the email thread {{http://www.nabble.com/forum/ViewPost.jtp?post=24018250&framed=y}}
-
- [[12]] Review the website
-
- Wait for the files to arrive at
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin
-+-----+
-
- or for a shared component at
-
-+-----+
-http://maven.apache.org/shared/maven-XXX
-+-----+
-
- The wait is necessary to allow the site to be
- {{{http://www.apache.org/dev/project-site.html}rsync'ed into production}}.
+ [[12]] Update JIRA
 
- [[13]] Update the maven site
-
- Check out the maven site project: <<<https://svn.apache.org/repos/asf/maven/site/trunk>>>
-
- If this is a plugin release, update the version number for the plugin on the
- <src/site/apt/plugins/index.apt> page.
-
- If this is a shared component release, update the version number for the
- component on the <src/site/apt/shared/index.apt> page.
-
- Commit your changes and then deploy the site.
-
-+-----+
-mvn site-deploy
-+-----+
-
- [[14]] Update JIRA
-
- For a plugin, go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
+ Go to Admin section in JIRA for the project and mark
  the <<<Y.Z>>> version as released. Create version <<<Y.Z+1>>>, if that hasn't already
- been done.
+ been done. You may also archive any deprecated releases (milestones or alphas) at this time.
 
- If this is a shared component, go to Admin section in JIRA for the
- {{{http://jira.codehaus.org/browse/MSHARED}MSHARED}} project and mark the
- <<<maven-XXX-Y.Z>>> version as released. Create version <<<maven-XXX-Y.Z+1>>>,
- if that hasn't already been done.
-
- [[15]] Create an announcement. For instance:
+ [[13]] Create an announcement. For instance, for Maven:
 
  <<Note:>> You must send this email from your apache email account, e.g. YOUR_APACHE_USERNAME@apache.org otherwise
  the email to announce@maven.apache.org will bounce.
@@ -406,28 +314,12 @@
 
 +-----+
 
- [[16]] Add the release to the next board report, in the private subversion area.
-
- This is a PMC activity.  If you are not a PMC member then email the <<<"Maven Developers List" <de...@maven.apache.org>>>>
- with a request to update this file for your release.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: dev@maven.apache.org
-Subject: [PMC] Maven XXX Plugin Y.Z needs adding to board report
-
-The Maven XXX Plugin has been released.
-Can this get added to the next board report please.
-+-----+
-
-
- [[17]] Add the release to the wiki, under the <Recent Releases> section of the
- {{{http://docs.codehaus.org/display/MAVEN/Home}front page}} and on the
- {{{http://docs.codehaus.org/display/MAVEN/Releases}Releases page}}.
+ [[14]] Add the release to the next board report, in the private subversion area.
 
- <<Note:>> If you don't have access to edit this page email <<<"Jason van Zyl" <ja...@maven.org>>>>
+ This is a PMC activity.  If you are not a PMC member then email the Developer's
+ list with a request to update this file for your release.
 
- [[18]] Celebrate :o)
+ [[15]] Celebrate :o)
 
 Trouble Shooting
 

Copied: maven/site/trunk/src/site/apt/developers/release/maven-plugin-release.apt (from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt)
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/release/maven-plugin-release.apt?p2=maven/site/trunk/src/site/apt/developers/release/maven-plugin-release.apt&p1=maven/site/trunk/src/site/apt/developers/release/releasing.apt&r1=835736&r2=835754&rev=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/maven-plugin-release.apt Fri Nov 13 06:29:19 2009
@@ -1,5 +1,5 @@
  -----
- Releasing A Maven Project
+ Releasing A Maven Plugin
  -----
  Jason van Zyl
  -----
@@ -23,174 +23,24 @@
 ~~ specific language governing permissions and limitations
 ~~ under the License.
 
-Releasing A Maven Project
+Releasing A Maven Plugin
 
- What follows is a description of releasing a Maven project to a staging repository, whereupon it is scrutinized by
- the community, approved, and transferred to a production repository.
+  Releasing a Maven plugin is much the same as any other Maven project. The following
+  guide walks through most of the steps:
 
-* {Prerequisites}
+    * {{{apache-release.html} Releasing a Maven-based project at Apache}}
+  
+  Note that plugins have particular conventions for deploying the project site.
+  When encountered in the release process above, perform the following steps:
+  
+* Staging the latest documentation
 
- Be sure that:
+  Once the release is prepared, but before the release vote, the site needs to be staged.
 
-  * you have all Maven servers defined in your settings.xml. For more information, please refer to
-  {{{../committer-settings.html}Committer settings}}.
+  The plugin parent POM is configured to stage the documentation in a "versioned" directory
+  such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
 
-  * you have created your GPG keys. For more information, please refer to {{{./pmc-gpg-keys.html}Making GPG Keys}}.
-
-  * you have a GPG client installed and on your shell's path. See {{{http://www.gnupg.org/}http://www.gnupg.org/}}.
-
-  * you have a Subversion 1.5+ client installed and on your shell's path. See {{{http://subversion.tigris.org/}http://subversion.tigris.org/}}.
-
-  * you have a Java 1.4.2 JDK installed and on your shell's path. See {{{http://java.sun.com/j2se/1.4.2/download.html}http://java.sun.com/j2se/1.4.2/download.html}}.
-
-  * you have set the environment variable MAVEN_OPTS=-Xmx512m
-
-  * you are using Maven 2.0.x (or 2.2.x), as Maven 2.1.x is known to produce wrong gpg pom signatures (see {{{http://jira.codehaus.org/browse/MGPG-14}MGPG-14}}).
-
-  []
-
- Formerly, a <<<release>>> profile was required in the <<<$\{user.home\}/.m2/settings.xml>>> to define the staging
- repository. As of inheritance from the Apache parent POM version 5, a repository manager will automatically handle
- staging (see below for details). Hence, configuration of <<<deploy.altRepository>>> is no longer necessary and
- should be removed from your existing <<<release>>> profile.
-
- Here's what your <<<release>>> profile might look like in your <<<$\{user.home\}/.m2/settings.xml>>>:
-
-+-----+
-<settings>
-  ...
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <properties>
-        <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
-      </properties>
-    </profile>
-  </profiles>
-  ...
-</settings>
-+-----+
-
- Everything that you need to release has been configured in the POM all Maven projects inherit from. The release plugin
- configuration being used is the following:
-
-%{snippet|id=release-plugin-configuration|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
- And the profile being used for releases is the following:
-
-%{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
-* Verify you are using JDK 1.4.2
-
-  Maven 2.0.X and its plugins should be built with JDK 1.4.2.
-
-+-----+
->mvn --version
-...
-Maven version: 2.0.X
-Java version: 1.4.2_18
-+-----+
-
-* Release Process for Part Of Maven
-
- [[1]] Prepare your POMs for release:
-
-   [[a]] Make sure there are <<no>> snapshots in the POMs to be released.
-
-   [[b]] Check that your POMs will not lose content when they are rewritten
-         during the release process.
-
-     * Verify that all <<<pom.xml>>> files have an SCM definition.
-
-     * <<<mvn release:prepare -DdryRun=true>>>
-
-     * Diff the original file <<<pom.xml>>> with the one called
-       <<<pom.xml.tag>>> to see if the license or any other info has been
-       removed. This has been known to happen if the starting
-       <<<\<project\>>>> tag is <<not>> on a single line.
-       The only things that should be different between these files are the
-       <<<\<version\>>>> and <<<\<scm\>>>> elements. Any other changes, you
-       must backport yourself to the original <<<pom.xml>>> file and commit
-       before proceeding with the release.
-
-     []
-
- [[2]] Publish a snapshot:
-
-+-----+
->mvn deploy
-...
-[INFO] [deploy:deploy]
-[INFO] Retrieving previous build number from apache.snapshots.https
-...
-+-----+
-
- If you experience an error during deployment like a HTTP 401 check your settings for the required server entries
- as outlined in the {{{Prerequisites}Prerequisites}}.
-
- <<Note:>> Be sure that the generated artifacts respect the
- {{{http://www.apache.org/dev/release.html#distribute-raw-artifact}Apache release rules}}: NOTICE and LICENSE files
- should be present in
- the META-INF directory within the jar. For <<<-sources>>> artifacts, be sure that your POM does <<not>> use the
- maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4.
-
- <<Note:>> You should verify the deployment under Maven Snapshot repository on Apache.
-
-+-----+
-https://repository.apache.org/content/repositories/snapshots/org/apache/maven/plugins/maven-XXX-plugin/Y.Z-SNAPSHOT/
-+-----+
-
- [[3]] Prepare the release
-
-+-----+
-mvn release:clean
-mvn release:prepare
-+-----+
-
- <<Note:>> Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
-
- <<Note:>> If you're located in Europe then <<<release:prepare>>> may fail with 'Unable to tag SCM' and
- '{{{http://www.apache.org/dev/version-control.html#out-of-sync}svn: No such revision X}}'. Wait 10 seconds and run
- <<<mvn release:prepare>>> again.
-
- [[4]] Stage the release for a vote
-
-+-----+
-mvn release:perform
-+-----+
-
- The release will automatically be inserted into a temporary staging repository for you. See the Nexus
- {{{http://www.sonatype.com/books/nexus-book/reference/staging.html} staging documentation}} for full details.
-
- [[5]] Close the staging repository
-
- Login to <<<{{https://repository.apache.org}}>>> using your Apache SVN credentials. Click on "Staging". Then click
- on "org.apache.maven" in the list of repositories. In the panel below you should see an open repository that is linked
- to your username and ip. Right click on this repository and select "Close". This will close the repository from future
- deployments and make it available for others to view. If you are staging multiple releases together, skip this step
- until you have staged everything.
-
- See the image below for details.
-
-[../../images/Close_Repo.png] Closing the repository
-
- [[6]] Verify the Staged artifacts
-
- If you click on your repository, a tree view will appear below. You can then browse the
- contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of <<<*.asc>>> (signature)
- files. If the you don't like the content of the repository, right click
- your repository and choose "Drop". You can then rollback your release and repeat the process.
-
- Note the repository URL, you will need this in your vote email.
-
-[../../images/Validate_Artifacts.png] Validating the artifacts
-
- [[7]] Stage the latest documentation
-
- The plugin parent POM is configured to stage the documentation in a "versioned" directory
- such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
-
-   [[a]] Stage the documentation for the current release version (not the new snapshot).
+   [[1]] Stage the documentation for the current release version (not the new snapshot).
 
 +------+
 cd target/checkout
@@ -216,7 +66,7 @@
 scp -r target/staging/people.apache.org/www/maven.apache.org/plugins/maven-XXX-plugin YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/plugins/maven-XXX-plugin-Y.Z
 +------+
 
-   [[b]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
+   [[2]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
    change to the directory above the staging directory. That would be <<</www/maven.apache.org/plugins>>> for a plugin.
    Then run these commands:
 
@@ -225,134 +75,35 @@
 find . -type f -exec chmod 664 {} \;
 +------+
 
- [[8]] Propose a vote on the dev list with the closed issues, the issues left,
- the staging repository and the staging site. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-Subject: [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-
-We solved N issues:
-http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=XXX&styleName=Html&version=XXX
-
-There are still a couple of issues left in JIRA:
-http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=XXX&status=1
-
-Staging repo:
-https://repository.apache.org/content/repositories/maven-staging-[YOUR REPOSITORY ID]/
-
-Staging site:
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
-
-Guide to testing staged releases:
-http://maven.apache.org/guides/development/guide-testing-releases.html
-
-Vote open for 72 hours.
-
-[ ] +1
-[ ] +0
-[ ] -1
+* Deploying the release website
 
-+-----+
-
- To get the JIRA release notes link, browse to the plugin's JIRA page, select the <Road Map> link,
- and use the link to <Release Notes> that is next to the version being released.
-
- To get the list of issues left in JIRA, browse to the plugin's JIRA page, and from the <Preset Filters>
- on the right, use the link for <Outstanding> issues.
-
- [[9]] Check the vote results
-
- Copied from {{{http://www.apache.org/foundation/voting.html}Votes on Package Releases}}.
-
-+-----+
-Votes on whether a package is ready to be released follow a format similar to majority approval
--- except that the decision is officially determined solely by whether at least three
-+1 votes were registered. Releases may not be vetoed. Generally the community will table the
-vote to release if anyone identifies serious problems, but in most cases the ultimate decision,
-once three or more positive votes have been garnered, lies with the individual serving as
-release manager. The specifics of the process may vary from project to project, but the
-'minimum of three +1 votes' rule is universal.
-+-----+
-
-  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}}
-
-  Once a vote is successful, post the result to the dev list and cc the PMC. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-CC: "Maven Project Management Committee List" <pr...@maven.apache.org>
-Subject: [RESULT] [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-The vote has passed with the following result :
-
-+1 (binding): <<list of names>>
-+1 (non binding): <<list of names>>
-
-I will promote the artifacts to the central repo.
-+-----+
-
-  If the vote is unsuccessful, the process will need to be restarted. Be sure to drop your staging repository as
-  described above.
-
- [[10]] Promote the release
-
- Once the release is deemed fit for public consumption it can be transfered to a production repository where it will
- be available to all users.
-
- Login to <<<{{https://repository.apache.org}}>>> with your Apache SVN credentials. Click on "Staging" and then on the repository with id "maven-staging". Find your
- closed staging repository, right click on it and choose "Promote". Select the "Releases" repository and click
- "Promote".
-
- See image below.
-
-[../../images/Promote.png] Promote the artifacts
-
- Next click on "Repositories", select the "Releases" repository and validate that your artifacts exist as you
- expect them.
-
- [[11]] Deploy the current website
+  After the release has passed, the site needs to be uploaded.
 
  <<Note:>> Be sure to generate and deploy the site using the same version of the release. Typically, you need to check
  out the tag (or go to <<<target/checkout>>>)
 
 +-----+
-cd target\checkout
+cd target/checkout
 mvn site-deploy -Preporting
 +-----+
 
-  <<Note:>> You can not just copy the documentation from Step 7 into the released documentation as the links are not identical.
+  <<Note:>> You can not just copy the documentation from the staging site above into the released documentation as the links are not identical.
   See the email thread {{http://www.nabble.com/forum/ViewPost.jtp?post=24018250&framed=y}}
 
- [[12]] Review the website
-
- Wait for the files to arrive at
+ To review the site, wait for the files to arrive at
 
 +-----+
 http://maven.apache.org/plugins/maven-XXX-plugin
 +-----+
 
- or for a shared component at
-
-+-----+
-http://maven.apache.org/shared/maven-XXX
-+-----+
-
  The wait is necessary to allow the site to be
  {{{http://www.apache.org/dev/project-site.html}rsync'ed into production}}.
 
- [[13]] Update the maven site
+* Updating the Maven site
 
  Check out the maven site project: <<<https://svn.apache.org/repos/asf/maven/site/trunk>>>
 
- If this is a plugin release, update the version number for the plugin on the
- <src/site/apt/plugins/index.apt> page.
-
- If this is a shared component release, update the version number for the
- component on the <src/site/apt/shared/index.apt> page.
+ Update the version number for the plugin on the <src/site/apt/plugins/index.apt> page.
 
  Commit your changes and then deploy the site.
 
@@ -360,104 +111,3 @@
 mvn site-deploy
 +-----+
 
- [[14]] Update JIRA
-
- For a plugin, go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
- the <<<Y.Z>>> version as released. Create version <<<Y.Z+1>>>, if that hasn't already
- been done.
-
- If this is a shared component, go to Admin section in JIRA for the
- {{{http://jira.codehaus.org/browse/MSHARED}MSHARED}} project and mark the
- <<<maven-XXX-Y.Z>>> version as released. Create version <<<maven-XXX-Y.Z+1>>>,
- if that hasn't already been done.
-
- [[15]] Create an announcement. For instance:
-
- <<Note:>> You must send this email from your apache email account, e.g. YOUR_APACHE_USERNAME@apache.org otherwise
- the email to announce@maven.apache.org will bounce.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: announce@maven.apache.org, users@maven.apache.org
-Cc: dev@maven.apache.org
-Subject: [ANN] Maven XXX Plugin Y.Z Released
-
-The Maven team is pleased to announce the release of the Maven XXX Plugin, version Y.Z
-
-This plugin (insert short description of the plugin's purpose).
-
-http://maven.apache.org/plugins/maven-XXX-plugin/
-
-You should specify the version in your project's plugin configuration:
-
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-XXX-plugin</artifactId>
- <version>Y.Z</version>
-</plugin>
-
-Release Notes - Maven 2.x XXX Plugin - Version Y.Z
-
-(Copy Here Release Notes in Text Format from JIRA)
-
-Enjoy,
-
--The Maven team
-
-+-----+
-
- [[16]] Add the release to the next board report, in the private subversion area.
-
- This is a PMC activity.  If you are not a PMC member then email the <<<"Maven Developers List" <de...@maven.apache.org>>>>
- with a request to update this file for your release.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: dev@maven.apache.org
-Subject: [PMC] Maven XXX Plugin Y.Z needs adding to board report
-
-The Maven XXX Plugin has been released.
-Can this get added to the next board report please.
-+-----+
-
-
- [[17]] Add the release to the wiki, under the <Recent Releases> section of the
- {{{http://docs.codehaus.org/display/MAVEN/Home}front page}} and on the
- {{{http://docs.codehaus.org/display/MAVEN/Releases}Releases page}}.
-
- <<Note:>> If you don't have access to edit this page email <<<"Jason van Zyl" <ja...@maven.org>>>>
-
- [[18]] Celebrate :o)
-
-Trouble Shooting
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-    [INFO] Unable to tag SCM
-    Provider message:
-    The svn tag command failed.
-    Command output:
-    svn: Commit failed (details follow):
-    svn: File '/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java' already exists
-+-----+
-
-  Then the resolution is to use a Subversion client 1.6+ and to run <<<svn update>>>.
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-[ERROR] BUILD FAILURE
-[INFO] ------------------------------------------------------------------------
-[INFO] Unable to tag SCM
-Provider message:
-The svn tag command failed.
-Command output:
-svn: Path 'https://svn.apache.org/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7' already exists
-+-----+
-
-  Then the resolution is to delete the tag using <<<svn del -m "re-releasing build" <svn path>>>>

Copied: maven/site/trunk/src/site/apt/developers/release/maven-proper-release.apt (from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt)
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/release/maven-proper-release.apt?p2=maven/site/trunk/src/site/apt/developers/release/maven-proper-release.apt&p1=maven/site/trunk/src/site/apt/developers/release/releasing.apt&r1=835736&r2=835754&rev=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/maven-proper-release.apt Fri Nov 13 06:29:19 2009
@@ -1,5 +1,5 @@
  -----
- Releasing A Maven Project
+ Releasing Maven
  -----
  Jason van Zyl
  -----
@@ -23,188 +23,63 @@
 ~~ specific language governing permissions and limitations
 ~~ under the License.
 
-Releasing A Maven Project
+Releasing Maven
 
- What follows is a description of releasing a Maven project to a staging repository, whereupon it is scrutinized by
- the community, approved, and transferred to a production repository.
+  Maven differs slightly in its release process due to several extra steps.
+  
+* Producing Release Candidates
 
-* {Prerequisites}
+  For non-alpha/beta releases, release candidates are produced beofre the actual
+  release.
+  
+  To produce a release candidate, follow the first seven steps only from the following
+  procedure:
 
- Be sure that:
+    * {{{apache-release.html} Releasing a Maven-based project at Apache}}
 
-  * you have all Maven servers defined in your settings.xml. For more information, please refer to
-  {{{../committer-settings.html}Committer settings}}.
+  The version used should be the eventual version with -RC1, -RC2, etc. appended.
+  
+  After producing the RC, request that the developers test the release on the list.
+  If a regression is found, a new release candidate is rolled.
+  
+  After a reasonable time without regressions found, a wider audience may be polled
+  if the release manager desires (for example, users@).
+  
+  Once happy with a release candidate, the full release is performed, with the final
+  version in place.
+  
+* Producing the Release    
 
-  * you have created your GPG keys. For more information, please refer to {{{./pmc-gpg-keys.html}Making GPG Keys}}.
+  To produce a final release, the same process as for standard projects is followed: 
+  
+    * {{{apache-release.html} Releasing a Maven-based project at Apache}}
 
-  * you have a GPG client installed and on your shell's path. See {{{http://www.gnupg.org/}http://www.gnupg.org/}}.
+  When staging the site, there you first need to update the release notes.
+  
+** Updating the Release Notes and web site
 
-  * you have a Subversion 1.5+ client installed and on your shell's path. See {{{http://subversion.tigris.org/}http://subversion.tigris.org/}}.
+  Checkout {{https://svn.apache.org/repos/asf/maven/site/trunk}}.
+  
+  Note that release notes can be created and checked in, but other changes
+  should not be checked in as it can be deployed 'live' at any time.
 
-  * you have a Java 1.4.2 JDK installed and on your shell's path. See {{{http://java.sun.com/j2se/1.4.2/download.html}http://java.sun.com/j2se/1.4.2/download.html}}.
+  ~~ TODO: paste in README.txt if new process is used from branch
 
-  * you have set the environment variable MAVEN_OPTS=-Xmx512m
+** Staging the latest documentation
 
-  * you are using Maven 2.0.x (or 2.2.x), as Maven 2.1.x is known to produce wrong gpg pom signatures (see {{{http://jira.codehaus.org/browse/MGPG-14}MGPG-14}}).
+  Once the release is prepared, but before the release vote, the site needs to be staged.
 
-  []
-
- Formerly, a <<<release>>> profile was required in the <<<$\{user.home\}/.m2/settings.xml>>> to define the staging
- repository. As of inheritance from the Apache parent POM version 5, a repository manager will automatically handle
- staging (see below for details). Hence, configuration of <<<deploy.altRepository>>> is no longer necessary and
- should be removed from your existing <<<release>>> profile.
-
- Here's what your <<<release>>> profile might look like in your <<<$\{user.home\}/.m2/settings.xml>>>:
-
-+-----+
-<settings>
-  ...
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <properties>
-        <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
-      </properties>
-    </profile>
-  </profiles>
-  ...
-</settings>
-+-----+
-
- Everything that you need to release has been configured in the POM all Maven projects inherit from. The release plugin
- configuration being used is the following:
-
-%{snippet|id=release-plugin-configuration|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
- And the profile being used for releases is the following:
-
-%{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
-* Verify you are using JDK 1.4.2
-
-  Maven 2.0.X and its plugins should be built with JDK 1.4.2.
-
-+-----+
->mvn --version
-...
-Maven version: 2.0.X
-Java version: 1.4.2_18
-+-----+
-
-* Release Process for Part Of Maven
-
- [[1]] Prepare your POMs for release:
-
-   [[a]] Make sure there are <<no>> snapshots in the POMs to be released.
-
-   [[b]] Check that your POMs will not lose content when they are rewritten
-         during the release process.
-
-     * Verify that all <<<pom.xml>>> files have an SCM definition.
-
-     * <<<mvn release:prepare -DdryRun=true>>>
-
-     * Diff the original file <<<pom.xml>>> with the one called
-       <<<pom.xml.tag>>> to see if the license or any other info has been
-       removed. This has been known to happen if the starting
-       <<<\<project\>>>> tag is <<not>> on a single line.
-       The only things that should be different between these files are the
-       <<<\<version\>>>> and <<<\<scm\>>>> elements. Any other changes, you
-       must backport yourself to the original <<<pom.xml>>> file and commit
-       before proceeding with the release.
-
-     []
-
- [[2]] Publish a snapshot:
-
-+-----+
->mvn deploy
-...
-[INFO] [deploy:deploy]
-[INFO] Retrieving previous build number from apache.snapshots.https
-...
-+-----+
-
- If you experience an error during deployment like a HTTP 401 check your settings for the required server entries
- as outlined in the {{{Prerequisites}Prerequisites}}.
-
- <<Note:>> Be sure that the generated artifacts respect the
- {{{http://www.apache.org/dev/release.html#distribute-raw-artifact}Apache release rules}}: NOTICE and LICENSE files
- should be present in
- the META-INF directory within the jar. For <<<-sources>>> artifacts, be sure that your POM does <<not>> use the
- maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4.
-
- <<Note:>> You should verify the deployment under Maven Snapshot repository on Apache.
-
-+-----+
-https://repository.apache.org/content/repositories/snapshots/org/apache/maven/plugins/maven-XXX-plugin/Y.Z-SNAPSHOT/
-+-----+
-
- [[3]] Prepare the release
-
-+-----+
-mvn release:clean
-mvn release:prepare
-+-----+
-
- <<Note:>> Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
-
- <<Note:>> If you're located in Europe then <<<release:prepare>>> may fail with 'Unable to tag SCM' and
- '{{{http://www.apache.org/dev/version-control.html#out-of-sync}svn: No such revision X}}'. Wait 10 seconds and run
- <<<mvn release:prepare>>> again.
-
- [[4]] Stage the release for a vote
-
-+-----+
-mvn release:perform
-+-----+
-
- The release will automatically be inserted into a temporary staging repository for you. See the Nexus
- {{{http://www.sonatype.com/books/nexus-book/reference/staging.html} staging documentation}} for full details.
-
- [[5]] Close the staging repository
-
- Login to <<<{{https://repository.apache.org}}>>> using your Apache SVN credentials. Click on "Staging". Then click
- on "org.apache.maven" in the list of repositories. In the panel below you should see an open repository that is linked
- to your username and ip. Right click on this repository and select "Close". This will close the repository from future
- deployments and make it available for others to view. If you are staging multiple releases together, skip this step
- until you have staged everything.
-
- See the image below for details.
-
-[../../images/Close_Repo.png] Closing the repository
-
- [[6]] Verify the Staged artifacts
-
- If you click on your repository, a tree view will appear below. You can then browse the
- contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of <<<*.asc>>> (signature)
- files. If the you don't like the content of the repository, right click
- your repository and choose "Drop". You can then rollback your release and repeat the process.
-
- Note the repository URL, you will need this in your vote email.
-
-[../../images/Validate_Artifacts.png] Validating the artifacts
-
- [[7]] Stage the latest documentation
-
- The plugin parent POM is configured to stage the documentation in a "versioned" directory
- such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
-
-   [[a]] Stage the documentation for the current release version (not the new snapshot).
+   [[1]] From the site checkout, stage the site (replacing $USER and $VERSION):
 
 +------+
-cd target/checkout
-mvn site:stage-deploy -Preporting
+mvn site:stage-deploy -DstagingSiteURL=scp://people.apache.org/home/$USER/public_html/staged-sites/maven-$VERSION
 +------+
 
    <<Note:>> It requires Maven 2.1.0 or higher to successfully deploy to <<<people.apache.org>>> via SSH. Older Maven
    versions will fail due to <<<com.jcraft.jsch.JSchException: Algorithm negotiation fail>>>.
 
-   <<Note:>> You should verify the deployment of the site on the Maven website
-   (you need to wait {{{http://www.apache.org/dev/project-site.html}the sync}}).
-
 +-----+
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
+http://people.apache.org/~USER/staged-sites/maven-VERSION
 +-----+
 
    Some developers have {{{http://www.nabble.com/site%3Astage-deploy-asks-for-a-password--tt15582961s177.html}
@@ -212,252 +87,38 @@
    upload it manually:
 
 +------+
-mvn site:stage -Preporting
-scp -r target/staging/people.apache.org/www/maven.apache.org/plugins/maven-XXX-plugin YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/plugins/maven-XXX-plugin-Y.Z
+mvn site:stage
+scp -r target/staging/people.apache.org/home/$USER/public_html/staged-sites/maven-$VERSION USER@people.apache.org:/home/$USER/public_html/staged-sites/maven-$VERSION
 +------+
 
-   [[b]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
-   change to the directory above the staging directory. That would be <<</www/maven.apache.org/plugins>>> for a plugin.
-   Then run these commands:
+** Additional release steps
 
-+------+
-find . -type d -exec chmod a+rx,g+w {} \;
-find . -type f -exec chmod 664 {} \;
-+------+
-
- [[8]] Propose a vote on the dev list with the closed issues, the issues left,
- the staging repository and the staging site. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-Subject: [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-
-We solved N issues:
-http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=XXX&styleName=Html&version=XXX
-
-There are still a couple of issues left in JIRA:
-http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=XXX&status=1
-
-Staging repo:
-https://repository.apache.org/content/repositories/maven-staging-[YOUR REPOSITORY ID]/
-
-Staging site:
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
+  In addition to promoting the repository, the release archives should be copied to
+  the following locations:
+  
+    * people.apache.org:/www/www.apache.org/dist/maven/binaries - apache-maven-$VERSION-bin.tar.gz, apache-maven-$VERSION-bin.tar.bz2, apache-maven-$VERSION-bin.zip, corresponding checksums (md5 and sha1) and signatures (asc)
+    
+    * people.apache.org:/www/www.apache.org/dist/maven/source - apache-maven-$VERSION-src.tar.gz, apache-maven-$VERSION-src.tar.bz2, apache-maven-$VERSION-src.zip, corresponding checksums (md5 and sha1) and signatures (asc)
 
-Guide to testing staged releases:
-http://maven.apache.org/guides/development/guide-testing-releases.html
+  The files may need to be renamed from those given in the repository.
 
-Vote open for 72 hours.
+  Next, any superceded releases should be removed from the above locations (after
+  confirming that they exist in /www/archive.apache.org/dist/maven).
 
-[ ] +1
-[ ] +0
-[ ] -1
+** Deploy the current references
 
-+-----+
-
- To get the JIRA release notes link, browse to the plugin's JIRA page, select the <Road Map> link,
- and use the link to <Release Notes> that is next to the version being released.
+  The source code references need to be deployed before deploying the web site
+  with the new version.
+  
+  This is described in {{{../website/deploy-maven-current-ref.html} Deploying the Current References}}.
 
- To get the list of issues left in JIRA, browse to the plugin's JIRA page, and from the <Preset Filters>
- on the right, use the link for <Outstanding> issues.
+** Deploying the release website
 
- [[9]] Check the vote results
+ Once both of the above have synced to the main site and a suitable number of mirors,
+ proceed to update the web site and produce the announcement.
 
- Copied from {{{http://www.apache.org/foundation/voting.html}Votes on Package Releases}}.
-
-+-----+
-Votes on whether a package is ready to be released follow a format similar to majority approval
--- except that the decision is officially determined solely by whether at least three
-+1 votes were registered. Releases may not be vetoed. Generally the community will table the
-vote to release if anyone identifies serious problems, but in most cases the ultimate decision,
-once three or more positive votes have been garnered, lies with the individual serving as
-release manager. The specifics of the process may vary from project to project, but the
-'minimum of three +1 votes' rule is universal.
-+-----+
-
-  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}}
-
-  Once a vote is successful, post the result to the dev list and cc the PMC. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-CC: "Maven Project Management Committee List" <pr...@maven.apache.org>
-Subject: [RESULT] [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-The vote has passed with the following result :
-
-+1 (binding): <<list of names>>
-+1 (non binding): <<list of names>>
-
-I will promote the artifacts to the central repo.
-+-----+
-
-  If the vote is unsuccessful, the process will need to be restarted. Be sure to drop your staging repository as
-  described above.
-
- [[10]] Promote the release
-
- Once the release is deemed fit for public consumption it can be transfered to a production repository where it will
- be available to all users.
-
- Login to <<<{{https://repository.apache.org}}>>> with your Apache SVN credentials. Click on "Staging" and then on the repository with id "maven-staging". Find your
- closed staging repository, right click on it and choose "Promote". Select the "Releases" repository and click
- "Promote".
-
- See image below.
-
-[../../images/Promote.png] Promote the artifacts
-
- Next click on "Repositories", select the "Releases" repository and validate that your artifacts exist as you
- expect them.
-
- [[11]] Deploy the current website
-
- <<Note:>> Be sure to generate and deploy the site using the same version of the release. Typically, you need to check
- out the tag (or go to <<<target/checkout>>>)
-
-+-----+
-cd target\checkout
-mvn site-deploy -Preporting
-+-----+
-
-  <<Note:>> You can not just copy the documentation from Step 7 into the released documentation as the links are not identical.
-  See the email thread {{http://www.nabble.com/forum/ViewPost.jtp?post=24018250&framed=y}}
-
- [[12]] Review the website
-
- Wait for the files to arrive at
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin
-+-----+
-
- or for a shared component at
-
-+-----+
-http://maven.apache.org/shared/maven-XXX
-+-----+
-
- The wait is necessary to allow the site to be
- {{{http://www.apache.org/dev/project-site.html}rsync'ed into production}}.
-
- [[13]] Update the maven site
-
- Check out the maven site project: <<<https://svn.apache.org/repos/asf/maven/site/trunk>>>
-
- If this is a plugin release, update the version number for the plugin on the
- <src/site/apt/plugins/index.apt> page.
-
- If this is a shared component release, update the version number for the
- component on the <src/site/apt/shared/index.apt> page.
-
- Commit your changes and then deploy the site.
+ Commit your changes and then deploy the main Maven site checked out earlier.
 
 +-----+
 mvn site-deploy
 +-----+
-
- [[14]] Update JIRA
-
- For a plugin, go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
- the <<<Y.Z>>> version as released. Create version <<<Y.Z+1>>>, if that hasn't already
- been done.
-
- If this is a shared component, go to Admin section in JIRA for the
- {{{http://jira.codehaus.org/browse/MSHARED}MSHARED}} project and mark the
- <<<maven-XXX-Y.Z>>> version as released. Create version <<<maven-XXX-Y.Z+1>>>,
- if that hasn't already been done.
-
- [[15]] Create an announcement. For instance:
-
- <<Note:>> You must send this email from your apache email account, e.g. YOUR_APACHE_USERNAME@apache.org otherwise
- the email to announce@maven.apache.org will bounce.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: announce@maven.apache.org, users@maven.apache.org
-Cc: dev@maven.apache.org
-Subject: [ANN] Maven XXX Plugin Y.Z Released
-
-The Maven team is pleased to announce the release of the Maven XXX Plugin, version Y.Z
-
-This plugin (insert short description of the plugin's purpose).
-
-http://maven.apache.org/plugins/maven-XXX-plugin/
-
-You should specify the version in your project's plugin configuration:
-
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-XXX-plugin</artifactId>
- <version>Y.Z</version>
-</plugin>
-
-Release Notes - Maven 2.x XXX Plugin - Version Y.Z
-
-(Copy Here Release Notes in Text Format from JIRA)
-
-Enjoy,
-
--The Maven team
-
-+-----+
-
- [[16]] Add the release to the next board report, in the private subversion area.
-
- This is a PMC activity.  If you are not a PMC member then email the <<<"Maven Developers List" <de...@maven.apache.org>>>>
- with a request to update this file for your release.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: dev@maven.apache.org
-Subject: [PMC] Maven XXX Plugin Y.Z needs adding to board report
-
-The Maven XXX Plugin has been released.
-Can this get added to the next board report please.
-+-----+
-
-
- [[17]] Add the release to the wiki, under the <Recent Releases> section of the
- {{{http://docs.codehaus.org/display/MAVEN/Home}front page}} and on the
- {{{http://docs.codehaus.org/display/MAVEN/Releases}Releases page}}.
-
- <<Note:>> If you don't have access to edit this page email <<<"Jason van Zyl" <ja...@maven.org>>>>
-
- [[18]] Celebrate :o)
-
-Trouble Shooting
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-    [INFO] Unable to tag SCM
-    Provider message:
-    The svn tag command failed.
-    Command output:
-    svn: Commit failed (details follow):
-    svn: File '/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java' already exists
-+-----+
-
-  Then the resolution is to use a Subversion client 1.6+ and to run <<<svn update>>>.
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-[ERROR] BUILD FAILURE
-[INFO] ------------------------------------------------------------------------
-[INFO] Unable to tag SCM
-Provider message:
-The svn tag command failed.
-Command output:
-svn: Path 'https://svn.apache.org/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7' already exists
-+-----+
-
-  Then the resolution is to delete the tag using <<<svn del -m "re-releasing build" <svn path>>>>

Copied: maven/site/trunk/src/site/apt/developers/release/maven-shared-release.apt (from r835736, maven/site/trunk/src/site/apt/developers/release/releasing.apt)
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/release/maven-shared-release.apt?p2=maven/site/trunk/src/site/apt/developers/release/maven-shared-release.apt&p1=maven/site/trunk/src/site/apt/developers/release/releasing.apt&r1=835736&r2=835754&rev=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/maven-shared-release.apt Fri Nov 13 06:29:19 2009
@@ -1,5 +1,5 @@
  -----
- Releasing A Maven Project
+ Releasing A Maven Shared Component
  -----
  Jason van Zyl
  -----
@@ -23,174 +23,24 @@
 ~~ specific language governing permissions and limitations
 ~~ under the License.
 
-Releasing A Maven Project
+Releasing A Maven Shared Component
 
- What follows is a description of releasing a Maven project to a staging repository, whereupon it is scrutinized by
- the community, approved, and transferred to a production repository.
+  Releasing a Maven component is much the same as any other Maven project. The following
+  guide walks through most of the steps:
 
-* {Prerequisites}
+    * {{{apache-release.html} Releasing a Maven-based project at Apache}}
+  
+  Note that components have particular conventions for deploying the project site.
+  When encountered in the release process above, perform the following steps:
+  
+* Staging the latest documentation
 
- Be sure that:
+  Once the release is prepared, but before the release vote, the site needs to be staged.
 
-  * you have all Maven servers defined in your settings.xml. For more information, please refer to
-  {{{../committer-settings.html}Committer settings}}.
+  The shared component parent POM is configured to stage the documentation in a "versioned" directory
+  such as <<</shared/maven-XXX-Y.Z>>>.
 
-  * you have created your GPG keys. For more information, please refer to {{{./pmc-gpg-keys.html}Making GPG Keys}}.
-
-  * you have a GPG client installed and on your shell's path. See {{{http://www.gnupg.org/}http://www.gnupg.org/}}.
-
-  * you have a Subversion 1.5+ client installed and on your shell's path. See {{{http://subversion.tigris.org/}http://subversion.tigris.org/}}.
-
-  * you have a Java 1.4.2 JDK installed and on your shell's path. See {{{http://java.sun.com/j2se/1.4.2/download.html}http://java.sun.com/j2se/1.4.2/download.html}}.
-
-  * you have set the environment variable MAVEN_OPTS=-Xmx512m
-
-  * you are using Maven 2.0.x (or 2.2.x), as Maven 2.1.x is known to produce wrong gpg pom signatures (see {{{http://jira.codehaus.org/browse/MGPG-14}MGPG-14}}).
-
-  []
-
- Formerly, a <<<release>>> profile was required in the <<<$\{user.home\}/.m2/settings.xml>>> to define the staging
- repository. As of inheritance from the Apache parent POM version 5, a repository manager will automatically handle
- staging (see below for details). Hence, configuration of <<<deploy.altRepository>>> is no longer necessary and
- should be removed from your existing <<<release>>> profile.
-
- Here's what your <<<release>>> profile might look like in your <<<$\{user.home\}/.m2/settings.xml>>>:
-
-+-----+
-<settings>
-  ...
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <properties>
-        <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
-      </properties>
-    </profile>
-  </profiles>
-  ...
-</settings>
-+-----+
-
- Everything that you need to release has been configured in the POM all Maven projects inherit from. The release plugin
- configuration being used is the following:
-
-%{snippet|id=release-plugin-configuration|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
- And the profile being used for releases is the following:
-
-%{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
-* Verify you are using JDK 1.4.2
-
-  Maven 2.0.X and its plugins should be built with JDK 1.4.2.
-
-+-----+
->mvn --version
-...
-Maven version: 2.0.X
-Java version: 1.4.2_18
-+-----+
-
-* Release Process for Part Of Maven
-
- [[1]] Prepare your POMs for release:
-
-   [[a]] Make sure there are <<no>> snapshots in the POMs to be released.
-
-   [[b]] Check that your POMs will not lose content when they are rewritten
-         during the release process.
-
-     * Verify that all <<<pom.xml>>> files have an SCM definition.
-
-     * <<<mvn release:prepare -DdryRun=true>>>
-
-     * Diff the original file <<<pom.xml>>> with the one called
-       <<<pom.xml.tag>>> to see if the license or any other info has been
-       removed. This has been known to happen if the starting
-       <<<\<project\>>>> tag is <<not>> on a single line.
-       The only things that should be different between these files are the
-       <<<\<version\>>>> and <<<\<scm\>>>> elements. Any other changes, you
-       must backport yourself to the original <<<pom.xml>>> file and commit
-       before proceeding with the release.
-
-     []
-
- [[2]] Publish a snapshot:
-
-+-----+
->mvn deploy
-...
-[INFO] [deploy:deploy]
-[INFO] Retrieving previous build number from apache.snapshots.https
-...
-+-----+
-
- If you experience an error during deployment like a HTTP 401 check your settings for the required server entries
- as outlined in the {{{Prerequisites}Prerequisites}}.
-
- <<Note:>> Be sure that the generated artifacts respect the
- {{{http://www.apache.org/dev/release.html#distribute-raw-artifact}Apache release rules}}: NOTICE and LICENSE files
- should be present in
- the META-INF directory within the jar. For <<<-sources>>> artifacts, be sure that your POM does <<not>> use the
- maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4.
-
- <<Note:>> You should verify the deployment under Maven Snapshot repository on Apache.
-
-+-----+
-https://repository.apache.org/content/repositories/snapshots/org/apache/maven/plugins/maven-XXX-plugin/Y.Z-SNAPSHOT/
-+-----+
-
- [[3]] Prepare the release
-
-+-----+
-mvn release:clean
-mvn release:prepare
-+-----+
-
- <<Note:>> Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
-
- <<Note:>> If you're located in Europe then <<<release:prepare>>> may fail with 'Unable to tag SCM' and
- '{{{http://www.apache.org/dev/version-control.html#out-of-sync}svn: No such revision X}}'. Wait 10 seconds and run
- <<<mvn release:prepare>>> again.
-
- [[4]] Stage the release for a vote
-
-+-----+
-mvn release:perform
-+-----+
-
- The release will automatically be inserted into a temporary staging repository for you. See the Nexus
- {{{http://www.sonatype.com/books/nexus-book/reference/staging.html} staging documentation}} for full details.
-
- [[5]] Close the staging repository
-
- Login to <<<{{https://repository.apache.org}}>>> using your Apache SVN credentials. Click on "Staging". Then click
- on "org.apache.maven" in the list of repositories. In the panel below you should see an open repository that is linked
- to your username and ip. Right click on this repository and select "Close". This will close the repository from future
- deployments and make it available for others to view. If you are staging multiple releases together, skip this step
- until you have staged everything.
-
- See the image below for details.
-
-[../../images/Close_Repo.png] Closing the repository
-
- [[6]] Verify the Staged artifacts
-
- If you click on your repository, a tree view will appear below. You can then browse the
- contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of <<<*.asc>>> (signature)
- files. If the you don't like the content of the repository, right click
- your repository and choose "Drop". You can then rollback your release and repeat the process.
-
- Note the repository URL, you will need this in your vote email.
-
-[../../images/Validate_Artifacts.png] Validating the artifacts
-
- [[7]] Stage the latest documentation
-
- The plugin parent POM is configured to stage the documentation in a "versioned" directory
- such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
-
-   [[a]] Stage the documentation for the current release version (not the new snapshot).
+   [[1]] Stage the documentation for the current release version (not the new snapshot).
 
 +------+
 cd target/checkout
@@ -204,7 +54,7 @@
    (you need to wait {{{http://www.apache.org/dev/project-site.html}the sync}}).
 
 +-----+
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
+http://maven.apache.org/shared/maven-XXX-Y.Z/
 +-----+
 
    Some developers have {{{http://www.nabble.com/site%3Astage-deploy-asks-for-a-password--tt15582961s177.html}
@@ -213,11 +63,11 @@
 
 +------+
 mvn site:stage -Preporting
-scp -r target/staging/people.apache.org/www/maven.apache.org/plugins/maven-XXX-plugin YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/plugins/maven-XXX-plugin-Y.Z
+scp -r target/staging/people.apache.org/www/maven.apache.org/shared/maven-XXX YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/shared/maven-XXX-Y.Z
 +------+
 
-   [[b]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
-   change to the directory above the staging directory. That would be <<</www/maven.apache.org/plugins>>> for a plugin.
+   [[2]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
+   change to the directory above the staging directory. That would be <<</www/maven.apache.org/shared>>> for a shared.
    Then run these commands:
 
 +------+
@@ -225,117 +75,22 @@
 find . -type f -exec chmod 664 {} \;
 +------+
 
- [[8]] Propose a vote on the dev list with the closed issues, the issues left,
- the staging repository and the staging site. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-Subject: [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-
-We solved N issues:
-http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=XXX&styleName=Html&version=XXX
-
-There are still a couple of issues left in JIRA:
-http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=XXX&status=1
-
-Staging repo:
-https://repository.apache.org/content/repositories/maven-staging-[YOUR REPOSITORY ID]/
-
-Staging site:
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
-
-Guide to testing staged releases:
-http://maven.apache.org/guides/development/guide-testing-releases.html
-
-Vote open for 72 hours.
-
-[ ] +1
-[ ] +0
-[ ] -1
-
-+-----+
-
- To get the JIRA release notes link, browse to the plugin's JIRA page, select the <Road Map> link,
- and use the link to <Release Notes> that is next to the version being released.
-
- To get the list of issues left in JIRA, browse to the plugin's JIRA page, and from the <Preset Filters>
- on the right, use the link for <Outstanding> issues.
-
- [[9]] Check the vote results
-
- Copied from {{{http://www.apache.org/foundation/voting.html}Votes on Package Releases}}.
-
-+-----+
-Votes on whether a package is ready to be released follow a format similar to majority approval
--- except that the decision is officially determined solely by whether at least three
-+1 votes were registered. Releases may not be vetoed. Generally the community will table the
-vote to release if anyone identifies serious problems, but in most cases the ultimate decision,
-once three or more positive votes have been garnered, lies with the individual serving as
-release manager. The specifics of the process may vary from project to project, but the
-'minimum of three +1 votes' rule is universal.
-+-----+
-
-  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}}
-
-  Once a vote is successful, post the result to the dev list and cc the PMC. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-CC: "Maven Project Management Committee List" <pr...@maven.apache.org>
-Subject: [RESULT] [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-The vote has passed with the following result :
-
-+1 (binding): <<list of names>>
-+1 (non binding): <<list of names>>
-
-I will promote the artifacts to the central repo.
-+-----+
-
-  If the vote is unsuccessful, the process will need to be restarted. Be sure to drop your staging repository as
-  described above.
-
- [[10]] Promote the release
+* Deploying the release website
 
- Once the release is deemed fit for public consumption it can be transfered to a production repository where it will
- be available to all users.
-
- Login to <<<{{https://repository.apache.org}}>>> with your Apache SVN credentials. Click on "Staging" and then on the repository with id "maven-staging". Find your
- closed staging repository, right click on it and choose "Promote". Select the "Releases" repository and click
- "Promote".
-
- See image below.
-
-[../../images/Promote.png] Promote the artifacts
-
- Next click on "Repositories", select the "Releases" repository and validate that your artifacts exist as you
- expect them.
-
- [[11]] Deploy the current website
+  After the release has passed, the site needs to be uploaded.
 
  <<Note:>> Be sure to generate and deploy the site using the same version of the release. Typically, you need to check
  out the tag (or go to <<<target/checkout>>>)
 
 +-----+
-cd target\checkout
+cd target/checkout
 mvn site-deploy -Preporting
 +-----+
 
-  <<Note:>> You can not just copy the documentation from Step 7 into the released documentation as the links are not identical.
+  <<Note:>> You can not just copy the documentation from the staging site above into the released documentation as the links are not identical.
   See the email thread {{http://www.nabble.com/forum/ViewPost.jtp?post=24018250&framed=y}}
 
- [[12]] Review the website
-
- Wait for the files to arrive at
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin
-+-----+
-
- or for a shared component at
+ To review the site, wait for the files to arrive at
 
 +-----+
 http://maven.apache.org/shared/maven-XXX
@@ -344,120 +99,14 @@
  The wait is necessary to allow the site to be
  {{{http://www.apache.org/dev/project-site.html}rsync'ed into production}}.
 
- [[13]] Update the maven site
+* Updating the Maven site
 
  Check out the maven site project: <<<https://svn.apache.org/repos/asf/maven/site/trunk>>>
 
- If this is a plugin release, update the version number for the plugin on the
- <src/site/apt/plugins/index.apt> page.
-
- If this is a shared component release, update the version number for the
- component on the <src/site/apt/shared/index.apt> page.
+ Update the version number for the component on the <src/site/apt/shared/index.apt> page.
 
  Commit your changes and then deploy the site.
 
 +-----+
 mvn site-deploy
 +-----+
-
- [[14]] Update JIRA
-
- For a plugin, go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
- the <<<Y.Z>>> version as released. Create version <<<Y.Z+1>>>, if that hasn't already
- been done.
-
- If this is a shared component, go to Admin section in JIRA for the
- {{{http://jira.codehaus.org/browse/MSHARED}MSHARED}} project and mark the
- <<<maven-XXX-Y.Z>>> version as released. Create version <<<maven-XXX-Y.Z+1>>>,
- if that hasn't already been done.
-
- [[15]] Create an announcement. For instance:
-
- <<Note:>> You must send this email from your apache email account, e.g. YOUR_APACHE_USERNAME@apache.org otherwise
- the email to announce@maven.apache.org will bounce.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: announce@maven.apache.org, users@maven.apache.org
-Cc: dev@maven.apache.org
-Subject: [ANN] Maven XXX Plugin Y.Z Released
-
-The Maven team is pleased to announce the release of the Maven XXX Plugin, version Y.Z
-
-This plugin (insert short description of the plugin's purpose).
-
-http://maven.apache.org/plugins/maven-XXX-plugin/
-
-You should specify the version in your project's plugin configuration:
-
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-XXX-plugin</artifactId>
- <version>Y.Z</version>
-</plugin>
-
-Release Notes - Maven 2.x XXX Plugin - Version Y.Z
-
-(Copy Here Release Notes in Text Format from JIRA)
-
-Enjoy,
-
--The Maven team
-
-+-----+
-
- [[16]] Add the release to the next board report, in the private subversion area.
-
- This is a PMC activity.  If you are not a PMC member then email the <<<"Maven Developers List" <de...@maven.apache.org>>>>
- with a request to update this file for your release.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: dev@maven.apache.org
-Subject: [PMC] Maven XXX Plugin Y.Z needs adding to board report
-
-The Maven XXX Plugin has been released.
-Can this get added to the next board report please.
-+-----+
-
-
- [[17]] Add the release to the wiki, under the <Recent Releases> section of the
- {{{http://docs.codehaus.org/display/MAVEN/Home}front page}} and on the
- {{{http://docs.codehaus.org/display/MAVEN/Releases}Releases page}}.
-
- <<Note:>> If you don't have access to edit this page email <<<"Jason van Zyl" <ja...@maven.org>>>>
-
- [[18]] Celebrate :o)
-
-Trouble Shooting
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-    [INFO] Unable to tag SCM
-    Provider message:
-    The svn tag command failed.
-    Command output:
-    svn: Commit failed (details follow):
-    svn: File '/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java' already exists
-+-----+
-
-  Then the resolution is to use a Subversion client 1.6+ and to run <<<svn update>>>.
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-[ERROR] BUILD FAILURE
-[INFO] ------------------------------------------------------------------------
-[INFO] Unable to tag SCM
-Provider message:
-The svn tag command failed.
-Command output:
-svn: Path 'https://svn.apache.org/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7' already exists
-+-----+
-
-  Then the resolution is to delete the tag using <<<svn del -m "re-releasing build" <svn path>>>>

Modified: maven/site/trunk/src/site/apt/developers/release/releasing.apt
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/release/releasing.apt?rev=835754&r1=835753&r2=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/releasing.apt Fri Nov 13 06:29:19 2009
@@ -27,437 +27,16 @@
 
  What follows is a description of releasing a Maven project to a staging repository, whereupon it is scrutinized by
  the community, approved, and transferred to a production repository.
-
-* {Prerequisites}
-
- Be sure that:
-
-  * you have all Maven servers defined in your settings.xml. For more information, please refer to
-  {{{../committer-settings.html}Committer settings}}.
-
-  * you have created your GPG keys. For more information, please refer to {{{./pmc-gpg-keys.html}Making GPG Keys}}.
-
-  * you have a GPG client installed and on your shell's path. See {{{http://www.gnupg.org/}http://www.gnupg.org/}}.
-
-  * you have a Subversion 1.5+ client installed and on your shell's path. See {{{http://subversion.tigris.org/}http://subversion.tigris.org/}}.
-
-  * you have a Java 1.4.2 JDK installed and on your shell's path. See {{{http://java.sun.com/j2se/1.4.2/download.html}http://java.sun.com/j2se/1.4.2/download.html}}.
-
-  * you have set the environment variable MAVEN_OPTS=-Xmx512m
-
-  * you are using Maven 2.0.x (or 2.2.x), as Maven 2.1.x is known to produce wrong gpg pom signatures (see {{{http://jira.codehaus.org/browse/MGPG-14}MGPG-14}}).
-
+ 
+ The steps involved are similar for any Apache project, with more specifics for Maven plugins, shared libraries, and
+ Maven itself. The steps involved, and the relevant documents for each, are listed below.
+
+  * {{{apache-release.html} Releasing a Maven-based project at Apache}}
+  
+  * {{{maven-plugin-release.html} Releasing a Maven plugin project}}
+  
+  * {{{maven-shared-release.html} Releasing a Maven shared component or subproject}}
+  
+  * {{{maven-proper-release.html} Releasing Maven itself}}
+  
   []
-
- Formerly, a <<<release>>> profile was required in the <<<$\{user.home\}/.m2/settings.xml>>> to define the staging
- repository. As of inheritance from the Apache parent POM version 5, a repository manager will automatically handle
- staging (see below for details). Hence, configuration of <<<deploy.altRepository>>> is no longer necessary and
- should be removed from your existing <<<release>>> profile.
-
- Here's what your <<<release>>> profile might look like in your <<<$\{user.home\}/.m2/settings.xml>>>:
-
-+-----+
-<settings>
-  ...
-  <profiles>
-    <profile>
-      <id>apache-release</id>
-      <properties>
-        <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
-      </properties>
-    </profile>
-  </profiles>
-  ...
-</settings>
-+-----+
-
- Everything that you need to release has been configured in the POM all Maven projects inherit from. The release plugin
- configuration being used is the following:
-
-%{snippet|id=release-plugin-configuration|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
- And the profile being used for releases is the following:
-
-%{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/asf/pom.xml}
-
-* Verify you are using JDK 1.4.2
-
-  Maven 2.0.X and its plugins should be built with JDK 1.4.2.
-
-+-----+
->mvn --version
-...
-Maven version: 2.0.X
-Java version: 1.4.2_18
-+-----+
-
-* Release Process for Part Of Maven
-
- [[1]] Prepare your POMs for release:
-
-   [[a]] Make sure there are <<no>> snapshots in the POMs to be released.
-
-   [[b]] Check that your POMs will not lose content when they are rewritten
-         during the release process.
-
-     * Verify that all <<<pom.xml>>> files have an SCM definition.
-
-     * <<<mvn release:prepare -DdryRun=true>>>
-
-     * Diff the original file <<<pom.xml>>> with the one called
-       <<<pom.xml.tag>>> to see if the license or any other info has been
-       removed. This has been known to happen if the starting
-       <<<\<project\>>>> tag is <<not>> on a single line.
-       The only things that should be different between these files are the
-       <<<\<version\>>>> and <<<\<scm\>>>> elements. Any other changes, you
-       must backport yourself to the original <<<pom.xml>>> file and commit
-       before proceeding with the release.
-
-     []
-
- [[2]] Publish a snapshot:
-
-+-----+
->mvn deploy
-...
-[INFO] [deploy:deploy]
-[INFO] Retrieving previous build number from apache.snapshots.https
-...
-+-----+
-
- If you experience an error during deployment like a HTTP 401 check your settings for the required server entries
- as outlined in the {{{Prerequisites}Prerequisites}}.
-
- <<Note:>> Be sure that the generated artifacts respect the
- {{{http://www.apache.org/dev/release.html#distribute-raw-artifact}Apache release rules}}: NOTICE and LICENSE files
- should be present in
- the META-INF directory within the jar. For <<<-sources>>> artifacts, be sure that your POM does <<not>> use the
- maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4.
-
- <<Note:>> You should verify the deployment under Maven Snapshot repository on Apache.
-
-+-----+
-https://repository.apache.org/content/repositories/snapshots/org/apache/maven/plugins/maven-XXX-plugin/Y.Z-SNAPSHOT/
-+-----+
-
- [[3]] Prepare the release
-
-+-----+
-mvn release:clean
-mvn release:prepare
-+-----+
-
- <<Note:>> Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
-
- <<Note:>> If you're located in Europe then <<<release:prepare>>> may fail with 'Unable to tag SCM' and
- '{{{http://www.apache.org/dev/version-control.html#out-of-sync}svn: No such revision X}}'. Wait 10 seconds and run
- <<<mvn release:prepare>>> again.
-
- [[4]] Stage the release for a vote
-
-+-----+
-mvn release:perform
-+-----+
-
- The release will automatically be inserted into a temporary staging repository for you. See the Nexus
- {{{http://www.sonatype.com/books/nexus-book/reference/staging.html} staging documentation}} for full details.
-
- [[5]] Close the staging repository
-
- Login to <<<{{https://repository.apache.org}}>>> using your Apache SVN credentials. Click on "Staging". Then click
- on "org.apache.maven" in the list of repositories. In the panel below you should see an open repository that is linked
- to your username and ip. Right click on this repository and select "Close". This will close the repository from future
- deployments and make it available for others to view. If you are staging multiple releases together, skip this step
- until you have staged everything.
-
- See the image below for details.
-
-[../../images/Close_Repo.png] Closing the repository
-
- [[6]] Verify the Staged artifacts
-
- If you click on your repository, a tree view will appear below. You can then browse the
- contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of <<<*.asc>>> (signature)
- files. If the you don't like the content of the repository, right click
- your repository and choose "Drop". You can then rollback your release and repeat the process.
-
- Note the repository URL, you will need this in your vote email.
-
-[../../images/Validate_Artifacts.png] Validating the artifacts
-
- [[7]] Stage the latest documentation
-
- The plugin parent POM is configured to stage the documentation in a "versioned" directory
- such as <<</plugins/maven-XXX-plugin-Y.Z>>>.
-
-   [[a]] Stage the documentation for the current release version (not the new snapshot).
-
-+------+
-cd target/checkout
-mvn site:stage-deploy -Preporting
-+------+
-
-   <<Note:>> It requires Maven 2.1.0 or higher to successfully deploy to <<<people.apache.org>>> via SSH. Older Maven
-   versions will fail due to <<<com.jcraft.jsch.JSchException: Algorithm negotiation fail>>>.
-
-   <<Note:>> You should verify the deployment of the site on the Maven website
-   (you need to wait {{{http://www.apache.org/dev/project-site.html}the sync}}).
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
-+-----+
-
-   Some developers have {{{http://www.nabble.com/site%3Astage-deploy-asks-for-a-password--tt15582961s177.html}
-   reported problems}} with the <<<site:stage-deploy>>> goal.  In that case, you can stage the site locally and
-   upload it manually:
-
-+------+
-mvn site:stage -Preporting
-scp -r target/staging/people.apache.org/www/maven.apache.org/plugins/maven-XXX-plugin YOUR_APACHE_USERNAME@people.apache.org:/www/maven.apache.org/plugins/maven-XXX-plugin-Y.Z
-+------+
-
-   [[b]] Verify/change folder permissions to 0775 and files permissions to 0664. Log on to <<<people.apache.org>>> and
-   change to the directory above the staging directory. That would be <<</www/maven.apache.org/plugins>>> for a plugin.
-   Then run these commands:
-
-+------+
-find . -type d -exec chmod a+rx,g+w {} \;
-find . -type f -exec chmod 664 {} \;
-+------+
-
- [[8]] Propose a vote on the dev list with the closed issues, the issues left,
- the staging repository and the staging site. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-Subject: [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-
-We solved N issues:
-http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=XXX&styleName=Html&version=XXX
-
-There are still a couple of issues left in JIRA:
-http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=XXX&status=1
-
-Staging repo:
-https://repository.apache.org/content/repositories/maven-staging-[YOUR REPOSITORY ID]/
-
-Staging site:
-http://maven.apache.org/plugins/maven-XXX-plugin-Y.Z/
-
-Guide to testing staged releases:
-http://maven.apache.org/guides/development/guide-testing-releases.html
-
-Vote open for 72 hours.
-
-[ ] +1
-[ ] +0
-[ ] -1
-
-+-----+
-
- To get the JIRA release notes link, browse to the plugin's JIRA page, select the <Road Map> link,
- and use the link to <Release Notes> that is next to the version being released.
-
- To get the list of issues left in JIRA, browse to the plugin's JIRA page, and from the <Preset Filters>
- on the right, use the link for <Outstanding> issues.
-
- [[9]] Check the vote results
-
- Copied from {{{http://www.apache.org/foundation/voting.html}Votes on Package Releases}}.
-
-+-----+
-Votes on whether a package is ready to be released follow a format similar to majority approval
--- except that the decision is officially determined solely by whether at least three
-+1 votes were registered. Releases may not be vetoed. Generally the community will table the
-vote to release if anyone identifies serious problems, but in most cases the ultimate decision,
-once three or more positive votes have been garnered, lies with the individual serving as
-release manager. The specifics of the process may vary from project to project, but the
-'minimum of three +1 votes' rule is universal.
-+-----+
-
-  The list of binding voters is available at {{http://people.apache.org/~jim/projects.html#maven-pmc}}
-
-  Once a vote is successful, post the result to the dev list and cc the PMC. For instance:
-
-+-----+
-To: "Maven Developers List" <de...@maven.apache.org>
-CC: "Maven Project Management Committee List" <pr...@maven.apache.org>
-Subject: [RESULT] [VOTE] Release Maven XXX plugin version Y.Z
-
-Hi,
-The vote has passed with the following result :
-
-+1 (binding): <<list of names>>
-+1 (non binding): <<list of names>>
-
-I will promote the artifacts to the central repo.
-+-----+
-
-  If the vote is unsuccessful, the process will need to be restarted. Be sure to drop your staging repository as
-  described above.
-
- [[10]] Promote the release
-
- Once the release is deemed fit for public consumption it can be transfered to a production repository where it will
- be available to all users.
-
- Login to <<<{{https://repository.apache.org}}>>> with your Apache SVN credentials. Click on "Staging" and then on the repository with id "maven-staging". Find your
- closed staging repository, right click on it and choose "Promote". Select the "Releases" repository and click
- "Promote".
-
- See image below.
-
-[../../images/Promote.png] Promote the artifacts
-
- Next click on "Repositories", select the "Releases" repository and validate that your artifacts exist as you
- expect them.
-
- [[11]] Deploy the current website
-
- <<Note:>> Be sure to generate and deploy the site using the same version of the release. Typically, you need to check
- out the tag (or go to <<<target/checkout>>>)
-
-+-----+
-cd target\checkout
-mvn site-deploy -Preporting
-+-----+
-
-  <<Note:>> You can not just copy the documentation from Step 7 into the released documentation as the links are not identical.
-  See the email thread {{http://www.nabble.com/forum/ViewPost.jtp?post=24018250&framed=y}}
-
- [[12]] Review the website
-
- Wait for the files to arrive at
-
-+-----+
-http://maven.apache.org/plugins/maven-XXX-plugin
-+-----+
-
- or for a shared component at
-
-+-----+
-http://maven.apache.org/shared/maven-XXX
-+-----+
-
- The wait is necessary to allow the site to be
- {{{http://www.apache.org/dev/project-site.html}rsync'ed into production}}.
-
- [[13]] Update the maven site
-
- Check out the maven site project: <<<https://svn.apache.org/repos/asf/maven/site/trunk>>>
-
- If this is a plugin release, update the version number for the plugin on the
- <src/site/apt/plugins/index.apt> page.
-
- If this is a shared component release, update the version number for the
- component on the <src/site/apt/shared/index.apt> page.
-
- Commit your changes and then deploy the site.
-
-+-----+
-mvn site-deploy
-+-----+
-
- [[14]] Update JIRA
-
- For a plugin, go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
- the <<<Y.Z>>> version as released. Create version <<<Y.Z+1>>>, if that hasn't already
- been done.
-
- If this is a shared component, go to Admin section in JIRA for the
- {{{http://jira.codehaus.org/browse/MSHARED}MSHARED}} project and mark the
- <<<maven-XXX-Y.Z>>> version as released. Create version <<<maven-XXX-Y.Z+1>>>,
- if that hasn't already been done.
-
- [[15]] Create an announcement. For instance:
-
- <<Note:>> You must send this email from your apache email account, e.g. YOUR_APACHE_USERNAME@apache.org otherwise
- the email to announce@maven.apache.org will bounce.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: announce@maven.apache.org, users@maven.apache.org
-Cc: dev@maven.apache.org
-Subject: [ANN] Maven XXX Plugin Y.Z Released
-
-The Maven team is pleased to announce the release of the Maven XXX Plugin, version Y.Z
-
-This plugin (insert short description of the plugin's purpose).
-
-http://maven.apache.org/plugins/maven-XXX-plugin/
-
-You should specify the version in your project's plugin configuration:
-
-<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-XXX-plugin</artifactId>
- <version>Y.Z</version>
-</plugin>
-
-Release Notes - Maven 2.x XXX Plugin - Version Y.Z
-
-(Copy Here Release Notes in Text Format from JIRA)
-
-Enjoy,
-
--The Maven team
-
-+-----+
-
- [[16]] Add the release to the next board report, in the private subversion area.
-
- This is a PMC activity.  If you are not a PMC member then email the <<<"Maven Developers List" <de...@maven.apache.org>>>>
- with a request to update this file for your release.
-
-+-----+
-From: YOUR_APACHE_USERNAME@apache.org
-To: dev@maven.apache.org
-Subject: [PMC] Maven XXX Plugin Y.Z needs adding to board report
-
-The Maven XXX Plugin has been released.
-Can this get added to the next board report please.
-+-----+
-
-
- [[17]] Add the release to the wiki, under the <Recent Releases> section of the
- {{{http://docs.codehaus.org/display/MAVEN/Home}front page}} and on the
- {{{http://docs.codehaus.org/display/MAVEN/Releases}Releases page}}.
-
- <<Note:>> If you don't have access to edit this page email <<<"Jason van Zyl" <ja...@maven.org>>>>
-
- [[18]] Celebrate :o)
-
-Trouble Shooting
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-    [INFO] Unable to tag SCM
-    Provider message:
-    The svn tag command failed.
-    Command output:
-    svn: Commit failed (details follow):
-    svn: File '/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java' already exists
-+-----+
-
-  Then the resolution is to use a Subversion client 1.6+ and to run <<<svn update>>>.
-
-* mvn release:prepare "commit failed" during <<<Prepare the release>>>
-
-  If you get an error message similar to:
-
-+-----+
-[ERROR] BUILD FAILURE
-[INFO] ------------------------------------------------------------------------
-[INFO] Unable to tag SCM
-Provider message:
-The svn tag command failed.
-Command output:
-svn: Path 'https://svn.apache.org/repos/asf/maven/plugins/tags/maven-eclipse-plugin-2.7' already exists
-+-----+
-
-  Then the resolution is to delete the tag using <<<svn del -m "re-releasing build" <svn path>>>>

Modified: maven/site/trunk/src/site/apt/developers/website/deploy-maven-current-ref.apt
URL: http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/developers/website/deploy-maven-current-ref.apt?rev=835754&r1=835753&r2=835754&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/website/deploy-maven-current-ref.apt (original)
+++ maven/site/trunk/src/site/apt/developers/website/deploy-maven-current-ref.apt Fri Nov 13 06:29:19 2009
@@ -72,15 +72,5 @@
 
  <<Note:>> It will take an hour or so to sync.
 
- [[5]] Update the current ref symlink to point the last Maven release
-
- * Connect you to <people.apache.org> and go to </www/maven.apache.org/ref/> folder.
-
- * Create a symlink from <2.2.0> folder to <current> if it is the newest stable release of Maven:
-
-+-----+
-ref$ ln -s 2.2.0/ ./current
-+-----+
-
  []