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.