Differences between revisions 2 and 3
Revision 2 as of 2007-03-05 14:21:25
Size: 3004
Comment:
Revision 3 as of 2009-09-20 23:46:46
Size: 3012
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
The [http://maven.apache.org/plugins/maven-release-plugin/ Maven 2 release plugin] is used to create the tag. The [http://maven.apache.org/plugins/maven-assembly-plugin/ Maven 2 assembly plugin] is used to create the binary and source distributions. The [[http://maven.apache.org/plugins/maven-release-plugin/|Maven 2 release plugin]] is used to create the tag. The [[http://maven.apache.org/plugins/maven-assembly-plugin/|Maven 2 assembly plugin]] is used to create the binary and source distributions.
Line 37: Line 37:
1. Make sure you have an up-to-date copy of [https://svn.apache.org/repos/asf/portals/pluto/trunk trunk] checked out, and that you don't have any pending changes. 1. Make sure you have an up-to-date copy of [[https://svn.apache.org/repos/asf/portals/pluto/trunk|trunk]] checked out, and that you don't have any pending changes.
Line 47: Line 47:
You should see your new tag appear under [https://svn.apache.org/repos/asf/portals/pluto/tags tags]. You should see a commit that look something like: You should see your new tag appear under [[https://svn.apache.org/repos/asf/portals/pluto/tags|tags]]. You should see a commit that look something like:

Creating the Tag

Prerequisites:

1) Remove any vestigal references to org.apache.maven.plugins maven-pluto-plugin. This was caused by an incorrect <groupId> that appeared a while back in the Pluto POM. Once you remove these references, they shouldn't come back:

  • Delete this directory: ~/.m2/repository/org/apache/maven/plugins/maven-pluto-plugin
  • Remove any reference to pluto-maven-plugin in ~/.m2/repository/org/apache/maven/plugins/maven-metadata-local.xml
  • Make sure the following is in settings.xml in ~/.m2/repository:

      <pluginGroups>
           <pluginGroup>org.apache.pluto</pluginGroup>
      </pluginGroups>

The Maven 2 release plugin is used to create the tag. The Maven 2 assembly plugin is used to create the binary and source distributions.

/!\ TODO: fix paths

With Maven 2, creating the tag and creating the distributions occur at the same time. When the release plugin is run, be sure to activate the assembly profile (using -Passembly,build-assemblies on the command line). When the assembly and build-assemblies profiles are activated, the distributions will be generated in assembly/target/assembly/out.

The release plugin will (not in this exact order, but close):

  • Check to make sure you don't have any uncommitted changes in your working copy.
  • Check to make sure you have an up-to-date working copy.
  • Check to make sure you don't have any dependencies on any SNAPSHOT artifacts.
  • Prompt you for the version you are releasing (e.g. if trunk is 1.1.0-SNAPSHOT, you are releasing 1.1.0).

  • Prompt you for the next version in the development cycle (e.g. if you are releasing 1.1.0 then the next version is probably 1.1.1-SNAPSHOT).

  • Update the POM's with the proper version numbers.
  • Create the tag in SVN.
  • Build the distributions (as long as the assembly profile is activated)

  • Run mvn deploy and mvn site-deploy

1. Make sure you have an up-to-date copy of trunk checked out, and that you don't have any pending changes.

svn up
svn st

2. Run mvn -Passembly,build-assemblies release:prepare

3. Run mvn -Passembly release:perform

You should see your new tag appear under tags. You should see a commit that look something like:

esm@clue:~$ svn log https://svn.apache.org/repos/asf/portals/pluto/tags --limit 1
------------------------------------------------------------------------
r506076 | esm | 2007-02-11 12:29:23 -0500 (Sun, 11 Feb 2007) | 1 line

[maven-scm] copy for tag pluto-1.1.0
------------------------------------------------------------------------

4. Binaries will be in assembly/target/assembly/out

TagTheRelease (last edited 2009-09-20 23:46:46 by localhost)