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.