You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/02/07 03:17:55 UTC
svn commit: r504413 - in /maven/release/trunk: maven-release-plugin/pom.xml
releasing-notes.apt releasing.apt
Author: jvanzyl
Date: Tue Feb 6 18:17:54 2007
New Revision: 504413
URL: http://svn.apache.org/viewvc?view=rev&rev=504413
Log:
o use the latest, required for some api changes in maven scm which make releasing to svn repositories work with the release plugin
Added:
maven/release/trunk/releasing-notes.apt (with props)
Modified:
maven/release/trunk/maven-release-plugin/pom.xml
maven/release/trunk/releasing.apt
Modified: maven/release/trunk/maven-release-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/pom.xml?view=diff&rev=504413&r1=504412&r2=504413
==============================================================================
--- maven/release/trunk/maven-release-plugin/pom.xml (original)
+++ maven/release/trunk/maven-release-plugin/pom.xml Tue Feb 6 18:17:54 2007
@@ -58,7 +58,7 @@
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-test</artifactId>
- <version>1.0-beta-4</version>
+ <version>1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
Added: maven/release/trunk/releasing-notes.apt
URL: http://svn.apache.org/viewvc/maven/release/trunk/releasing-notes.apt?view=auto&rev=504413
==============================================================================
--- maven/release/trunk/releasing-notes.apt (added)
+++ maven/release/trunk/releasing-notes.apt Tue Feb 6 18:17:54 2007
@@ -0,0 +1,35 @@
+Releasing
+
+ * Date of the last release (we need the release descriptor from the release plugin)
+
+ * Show issues resolved for this release
+
+ * Show the link to the artifacts for release
+
+ * Show the revision used to create the release
+
+ * Show the link to the site for the release
+
+ * Show the output of the docck plugin
+
+ * Show expanded forms of deliverables so they can be inspected on line
+
+ * Show results of the license header verifier
+
+ * Show any change reports that are available (the changelog, this can become standard over time)
+
+ []
+
+Announcing
+
+ * Make sure that the release has propagated to the central repository before announcing.
+
+ * Send email to the appropriate lists
+
+ * The url the directory with the release artifacts
+
+ * Roadmap/Changelog for the release
+
+ * Instructions on how to use the new release. For a plugin this is updating a version or using the -U flag, for a library just updating the
+ version.
+
Propchange: maven/release/trunk/releasing-notes.apt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/releasing-notes.apt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/release/trunk/releasing.apt
URL: http://svn.apache.org/viewvc/maven/release/trunk/releasing.apt?view=diff&rev=504413&r1=504412&r2=504413
==============================================================================
--- maven/release/trunk/releasing.apt (original)
+++ maven/release/trunk/releasing.apt Tue Feb 6 18:17:54 2007
@@ -1,5 +1,5 @@
-----
- Releasing
+ Releasing A Maven Project
-----
Jason van Zyl
-----
@@ -23,73 +23,75 @@
~~ specific language governing permissions and limitations
~~ under the License.
-What happens during a release
-
- * put everything into a staging directory by using the latest feature in the
- deploy plugin that allows you to set a alt repository
-
- * put the site in a staging directory
-
- * use tom's new tools to copy the mini repository over
-
- * need something to copy the site over
-
- []
-
-Developer Setup for a release
-
- * $HOME/.m2/settings.xml
+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.
+
+ * The repository that you want to deploy the release to.
+
+ Here's what your <<<release>>> profile might look like in your <<<$HOME/.m2/settings.xml>>>:
+
++-----+
+<settings>
+ ...
<profiles>
<profile>
- <id>staging</id>
+ <id>release</id>
<properties>
<gpg.passphrase>secretPhrase</gpg.passphrase>
- <staging.siteURL>
- scp://hostname/path/to/directory/stage/sites
- </staging.siteURL>
- <deploy.altRepository>
- username::default::scp://hostname/path/to/directory/stage/repo
- </deploy.altRepository>
+ <deploy.altRepository>username::default::scp://hostname/path/to/directory/stage/repo</deploy.altRepository>
</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/maven/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/maven/pom.xml}
+
+ All you need to do in order to release are the familiar
+
++-----+
+mvn release:perform
+
+mvn release:prepare
++-----+
+
+ 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. Currently the tools to do this are inconvenient so if you want to stage a release you
+ can contact Jason and he'll show you how to do it. Otherwise you can release directly to a production repository.
+
+Releasing a Project Directly into a Production Repository
+
+ If you want to release directly to a production repository then you simply make the staging repository point at
+ the production repository by using the following in your <<<$HOME/.m2/settings.xml>>>:
+
++-----+
+<settings>
+ ...
+ <profiles>
+ <profile>
+ <id>release</id>
+ <properties>
+ <gpg.passphrase>secretPhrase</gpg.passphrase>
+ <deploy.altRepository>username::default::scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</deploy.altRepository>
+ </properties>
+ </profile>
+ </profiles>
+ ...
+</settings>
++-----+
-Commands
-
- * mvn -Pstaging clean deploy
-
-Releasing
-
- * Date of the last release (we need the release descriptor from the release plugin)
-
- * Show issues resolved for this release
-
- * Show the link to the artifacts for release
-
- * Show the revision used to create the release
-
- * Show the link to the site for the release
-
- * Show the output of the docck plugin
-
- * Show expanded forms of deliverables so they can be inspected on line
-
- * Show results of the license header verifier
-
- * Show any change reports that are available (the changelog, this can become standard over time)
-
- []
-
-Announcing
-
- * Make sure that the release has propagated to the central repository before announcing.
-
- * Send email to the appropriate lists
-
- * The url the directory with the release artifacts
-
- * Roadmap/Changelog for the release
-
- * Instructions on how to use the new release. For a plugin this is updating a version or using the -U flag, for a library just updating the
- version.
+ This will allow you to by pass 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 approve of.