Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Commons Wiki" for 
change notification.

The following page has been changed by SiegfriedGoeschl:
http://wiki.apache.org/commons/CreatingReleases

------------------------------------------------------------------------------
  = DRAFT Procedure for creating a release using M2 =
  
  '''This is currently a discussion page, and is not (yet) policy'''
- 
- == Background ==
- 
- See Maven documentation: 
[http://maven.apache.org/developers/release/releasing.html Releasing A Maven 
Project].
- 
- '''Please prepare the POM(s) for the release, quoting from the above page:'''
- 
- Check that your poms will not lose content when they are rewritten during the 
release process.
- 
-  * mvn release:prepare -!DdryRun=true 
- 
-  * 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.
- 
- ----
  
  == Maven2 Release Procedure ==
  
@@ -28, +12 @@

   * The Apache {{{m2-snapshot-repository}}} if a SNAPSHOT version is used (to 
permit easy testing of RCs by community, for instance)
   * A staging repository under {{{p.a.o/builds/commons/{component.id}/}}} if a 
final version is used
  
- === A. Maven Setup (one time) ===
+ === A. Infrastructure Setup (one time) ===
  
+ ==== A.1 Get Familiar with Maven ====
+ 
+ Reading the Maven documentation is a good start -  
[http://maven.apache.org/developers/release/releasing.html Releasing A Maven 
Project].
+ 
+ ==== A.2 Signature Keys ====
+ 
+ You need to sign the released artifact using your PGP key which implies
+ 
+  * you generated one
+  * it is uploaded to a key server
+  * it is signed on a key signing party
+  * it is found in the KEY file (see 
https://svn.apache.org/repos/asf/commons/trunks-proper)
+  
+ ==== A.3 Maven Installation ====
+ 
+ Currently Maven 2.0.8 or better is required to run the release process 
+  
- ==== A.1 Maven Server Settings ====
+ ==== A.4 Maven Server Settings ====
  
  It is a good idea to check your ''settings.xml'' that it contains the 
corresponding server entries for the repositories and websites defined in the 
commons parent pom. If you have a different user name on your box than on 
''people.apache.org'' you local user name will be used for authentication. 
Therefore the authentication will fail and after a few retries your are locked 
out from ''people.apache.org'' for a day - which in turn makes cutting a 
release rather lengthy. In theory you could also provide your password in the 
server section below but this unsafe and did not work in my case.
  
@@ -57, +58 @@

  </servers>  
  }}}
  
- === B. Release prep ===
+ === B. Release Preparation ===
  
  ==== B.1 Check Your Project ====
  
  Here you find a list of reminders what to double-check before cutting a 
release candidate
  
-  * Make sure that you are not referencing any SNAPSHOT version otherwise the 
release will fail
+  * Make sure that you are not referencing any SNAPSHOT version (dependencies 
and plugins) otherwise the release will fail
   * Make sure that you update your ''changes.xml'' to reflect your release
   * Make sure that all your files contain a ASF licence header (look at the 
''RAT'' report when in doubt)
   * Make sure that you make a test build using a clean checkout
@@ -105, +106 @@

  
  }}}
  
+ ==== B.4 Prepare Your Assembly Descriptors ====
+ 
+ If you are declaring/using your own assembly descriptors make sure that they 
are not using ${version} but ${commons.release.version} - there seems to be an 
odd bug which results in an incorrectly expanded version string, e.g. 
{{{commons-exec-2.4.1-src}}}. If in doubt look at {{{./src/assembly/src.xml}}}
+ 
+ ==== B.5 Dry Run Your Maven Release ====
+ 
+ Check that your poms will not lose content when they are rewritten during the 
release process.
+ 
+  * mvn release:prepare -!DdryRun=true 
+ 
+  * 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.
+ 
  === C. Stage artifacts and site ===
  
   1. {{{mvn -Prc release:prepare}}}
@@ -160, +175 @@

  
   1. {{{mvn site-deploy}}}
  
+ === F. Celebrate ===
+ 
+ ==== F.1 Send an Announcement ====
+ 
+ Send an announcement to the developer and user mailing list. Since you have 
dutifully updated your {{{changes.xml}}} you can generate the announcement in 
{{{./target/announcement/}}}
+ 
+ {{{
+ > mvn changes:announcement-generate
+ }}}
+  
  ----
  
  == Releasing commons-parent pom ==

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to