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 2006/05/09 08:36:21 UTC

svn commit: r405317 - in /maven/plugins/trunk/maven-release-plugin/src/site/apt: howto.apt introduction.apt

Author: brett
Date: Mon May  8 23:36:20 2006
New Revision: 405317

URL: http://svn.apache.org/viewcvs?rev=405317&view=rev
Log:
documentation

Modified:
    maven/plugins/trunk/maven-release-plugin/src/site/apt/howto.apt
    maven/plugins/trunk/maven-release-plugin/src/site/apt/introduction.apt

Modified: maven/plugins/trunk/maven-release-plugin/src/site/apt/howto.apt
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/site/apt/howto.apt?rev=405317&r1=405316&r2=405317&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/site/apt/howto.apt (original)
+++ maven/plugins/trunk/maven-release-plugin/src/site/apt/howto.apt Mon May  8 23:36:20 2006
@@ -1,21 +1,29 @@
  ------
  Maven 2 Release Plugin 
  ------
- Carlos Sanchez
- <ca...@apache.org>
+ Carlos Sanchez <ca...@apache.org>
+ Brett Porter <br...@apache.org>
  ------
  March 28, 2006
 
-How to Use
+How-to
 
-Use a different username in the SCM server than he one in the operating system
+  The following are some common scenarios in preparing a release.
 
-  Run <<<mvn -Duser.name=your_username release:prepare>>>
+* Use a different username in the SCM server than the one in the operating system
 
-Set where to tag the files in the SCM
+  Most of the SCMs are simply executed as an external command as the current user on your system. If this username is
+  not the same as the remote username, you may need to set the following option:
 
-  These example shows how to set the repository location for all tagged files in Subversion,
-  not needed if you use if the svn repository uses the standard layout (branches/tags/trunk)
+------
+mvn -Dusername=your_username release:prepare
+------
+
+* Set where to tag the files in Subversion
+
+  These example shows how to set the repository location for all tags to be created in Subversion.
+  Note that it is not needed if you use the standard SVN layout, where the root project is in <<<trunk>>>, and
+  there is a <<<tags>>> directory immediately above it.
  
 -------------------
 <project>
@@ -26,7 +34,7 @@
         <plugin>
           <artifactId>maven-release-plugin</artifactId>
           <configuration>
-            <tagBase>https://svn.apache.org/repos/asf/maven/components/anothertags</tagBase>
+            <tagBase>https://svn.apache.org/repos/asf/maven/components/releases</tagBase>
           </configuration>
         </plugin>
       </plugins>
@@ -35,3 +43,35 @@
     ...
 </project>
 -------------------
+
+* Running a Dry Run
+
+  Since the release plugin performs a number of operations that change the project, it may be wise to do a dry run
+  before a big release or on a new project. To do this, commit all of your files as if you were about to run a full
+  release and run:
+
+------
+mvn release:prepare -DdryRun=true
+------
+
+  This will ask all the same questions, run the same tests, and output a copy of how the POMs will look after
+  transformation. You can check the output and review the POMs, then run:
+
+------
+mvn release:clean
+------
+
+  This will remove all of the files created above, and the project will be ready to execute the proper release.
+
+* Running in Batch Mode
+
+  Sometimes it is desirable to do the commit/tag process on a regular interval (eg, to produce nightly or integration
+  builds through a build server). To use the default inputs for the versions and tag information and not prompt for any
+  values, use Maven's <<<--batch-mode>>> setting:
+
+------
+mvn --batch-mode release:prepare
+------
+
+
+

Modified: maven/plugins/trunk/maven-release-plugin/src/site/apt/introduction.apt
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/site/apt/introduction.apt?rev=405317&r1=405316&r2=405317&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/site/apt/introduction.apt (original)
+++ maven/plugins/trunk/maven-release-plugin/src/site/apt/introduction.apt Mon May  8 23:36:20 2006
@@ -1,35 +1,79 @@
  ------
  Maven 2 Release Plugin 
  ------
- Carlos Sanchez
- <ca...@apache.org>
+ Carlos Sanchez <ca...@apache.org>
+ Brett Porter <br...@apache.org>
  ------
  March 28, 2006
 
 Introduction
 
- This plugin allows releasing a maven project, which means:
+ This plugin is used to release a project with Maven, saving a lot of repetitive, manual work.
+ Releasing a project takes two steps: prepare and perform.
 
 Prepare a release
 
- * Check that there's no uncommitted changes in the sources
- 
- * Check that there's no SNAPSHOT dependencies
+  Preparing a release executes the following steps:
+
+   * Check that there's no uncommitted changes in the sources
  
- * Change the version in the poms from x-SNAPSHOT to a new version (the user is asked for the new version) 
+   * Check that there's no SNAPSHOT dependencies
  
- * Commit the change of versions
+   * Change the version in the poms from x-SNAPSHOT to a new version (you will be prompted for the versions to use)
+
+   * Transform the SCM information in the POM to the final destination of the tag
+
+   * Run the project tests against the modified POMs to confirm everything is in working order
+
+   * Commit the change of versions
  
- * Tag the code in the SCM with a version name (asked to the user)
+   * Tag the code in the SCM with a version name (this will be prompted for)
  
- * Bump the version in the poms to a new value y-SNAPSHOT
+   * Bump the version in the poms to a new value y-SNAPSHOT (these values are prompted also)
  
- * Commit the change of versions
+   * Commit the change of versions
+
+  To execute this step, run:
+
+-------
+mvn release:prepare
+-------
+
+  <<Note:>> If an error occurs, or the process is cancelled, then running this will pick up from where the last one
+  left off from. If you wish to start again, use:
+
+-------
+mvn release:prepare -Dresume=false
+-------
+
+  Alternatively, you can use:
+
+-------
+mvn release:clean release:prepare
+-------
+
+  Note that if any changes have been made to your source files they might need to be reverted before you restart the
+  prepare process.
 
 Perform a release
 
- * Ask the user for a tag name
- 
- * Checkout from that tag
+  Performing a release does the following:
+
+   * Checkout from an SCM URL with optional tag
  
- * Run any maven goals defined by the user ( eg. deploy )
+   * Run the predefined maven goals to release the project (by default, <<<deploy site-deploy>>>)
+
+  To execute this step, run:
+
+-------
+mvn release:perform
+-------
+
+  This relies on <<<release.properties>>> being present from a previous release. If this is not the case, you need to
+  give the goal the name of the URL and optional tag to perform the release from. For example:
+
+-------
+mvn release:perform -DconnectionUrl=scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-release-plugin-2.0
+-------
+
+  After the release is complete, the <<<release.properties>> and other release files will be removed from the checkout.