You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by df...@apache.org on 2008/02/06 08:55:16 UTC

svn commit: r618921 - /maven/site/trunk/src/site/apt/developers/release/releasing.apt

Author: dfabulich
Date: Tue Feb  5 23:55:13 2008
New Revision: 618921

URL: http://svn.apache.org/viewvc?rev=618921&view=rev
Log:
Make the "new" release process a complete reference, without referring back to steps from the old release process

Modified:
    maven/site/trunk/src/site/apt/developers/release/releasing.apt

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=618921&r1=618920&r2=618921&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/developers/release/releasing.apt (original)
+++ maven/site/trunk/src/site/apt/developers/release/releasing.apt Tue Feb  5 23:55:13 2008
@@ -26,13 +26,21 @@
 Releasing A Maven Project
 
  What follows is a description of releasing a Maven project to a staging repository, whereupon it is scruntized by
- the community, approved, and transfered to a production repository. In order to release a project you must have the
- following setup in your <<<$HOME/.m2/settings.xml>>> which is a profile which provides settings for:
-
- * Your GPG passphrase which will be used to sign all artifacts that are released. If you have no idea what your
-   GPG passphrase is then refer to {{{pmc-release-process.html}this document}}.
-
- * The staging repository that you want to deploy the release to.
+ the community, approved, and transfered to a production repository.
+ 
+ 
+Prerequisite
+
+ 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}}.
+
+ 
+ In order to release a project you must also have the
+ following setup in your <<<$HOME/.m2/settings.xml>>> which is a profile that defines the staging repository.
 
  Here's what your <<<release>>> profile might look like in your <<<$HOME/.m2/settings.xml>>>:
 
@@ -61,21 +69,38 @@
 
 %{snippet|id=release-profile|url=http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml}
 
-* The New Steps
+* Release Process for Part Of Maven
 
- The following steps replace steps 2-7 in the
- {{{./pmc-release-process.html}old release process}}.
+ [[1]] Prepare your poms for release:
 
- [[1]] Prepare the release
+   [[a]] Make sure there are <<NO>> snapshots in the poms to be released.
 
-+-----+
-mvn release:prepare
-+-----+
+   [[b]] Check that your poms will not lose content when they are rewritten
+         during the release process.
+
+     * <<<mvn release:prepare -DdryRun=true>>>
 
- [[2]] Perform the release
+     * 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.
+
+     * Remember to do '<<<mvn release:clean>>>' before you start the real
+       release process.
+
+ [[2]] Publish a snapshot:
 
 +-----+
-mvn release:perform
+>mvn deploy
+...
+[INFO] [deploy:deploy]
+[INFO] Retrieving previous build number from apache.snapshots
+...
 +-----+
 
  <<IMPORTANT NOTE:>> Be sure that the generated artifacts respect the
@@ -83,6 +108,26 @@
  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 could verify the deployment under Maven Snapshot repository on Apache.
+
++-----+
+http://people.apache.org/repo/m2-snapshot-repository/org/apache/maven/plugins/maven-XXX-plugin/2.1/
++-----+
+
+ [[3]] Prepare the release
+
++-----+
+mvn release:prepare
++-----+
+
+ <<Note>>: Preparing the release will create the new tag in SVN, automatically checking in on your behalf.
+
+ [[4]] Perform the release
+
++-----+
+mvn release:perform
++-----+
+
  [[3]] Propose a vote on the dev list with the closed issues, the issues left,
  the staging repository and the staging site. For instance:
 
@@ -114,7 +159,7 @@
 
  Once a vote is successful, post the result to the dev list and cc the pmc.
 
- [[4]] Copy from the staging repo to the production repo
+ [[5]] Copy from the staging repo to the production repo
 
  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.
@@ -161,12 +206,64 @@
  This will allow you to bypass the staging phase and push the release directly into a production repository. It is assume that
  you have pushed a snapshot somewhere that people have looked at and approved of.
 
- [[5]] Deploy the project site.
+ [[6]] Deploy the project site.
 
  <<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>>>)
   and call <<<mvn site -Preporting site:deploy>>>.
 
- []
+ [[7]] Review Website
+
+ Wait for the files to arrive at
+
++-----+
+http://maven.apache.org/plugins/maven-XXX-plugin
++-----+
+
+ [[8]] Update the plugins page
+
+ If this is a plugin release, update the version number for the plugin on the
+ </plugins/index.html> page.
+
+ [[9]] Update JIRA
+
+ Go to Admin section in JIRA for the <<<maven-XXX-plugin>>> project and mark
+ the <<<2.1>>> version as released. Create version 2.2, if that hasn't already
+ been done.
+
+ [[10]] Create an Announcement. For instance:
+
++-----+
+From: YOUR_APACHE_EMAIL
+To: announce@maven.apache.org, users@maven.apache.org
+Cc: dev@maven.apache.org
+Subject: [ANN] Maven XXX Plugin Y.Y for Maven 2 Released
+
+The Maven team is pleased to announce the release of the Maven XXX Plugin, version Y.Y
+
+http://maven.apache.org/plugins/maven-XXX-plugin/
+
+You can run mvn -up to get the latest version of the plugin, or specify
+the version in your project's plugin configuration:
+
+<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-XXX-plugin</artifactId>
+ <version>Y.Y</version>
+</plugin>
+
+Release Notes - Maven 2.x XXX Plugin - Version Y.Y
+
+(Copy Here Release Notes in Text Format from Jira)
+
+Enjoy,
+
+-The Maven team
+
++-----+
+
+ [[11]] Add the release to the next board report, in the private subversion area.
+
+ [[12]] Add the release to the wiki, under the <Recent Releases> section of the
+ front page and on the <Releases> page.
 
- After that you can continue with step 8 in the
- {{{./pmc-release-process.html}old release process}}.
+ [[13]] Celebrate :o)