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)