You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Release Process Notes for Maven 2.0.1

17-Dec-2005

Resources and Gotchas

  1. Binary release download area: minotaur.apache.org:/www/www.apache.org/dist/binaries/maven
  2. SVN switch syntax example: plexus
    svn switch --relocate svn+ssh://svn.codehaus.org/home/projects/plexus/scm/trunk https://svn.codehaus.org/plexus/trunk
  3. Script for signing/hashing release binaries is in:
    _https://svn.apache.org/repos/private/committers/tools/releases_
    ...and it's a shell script, so be ready...
  4. wagon-ssh-external implementation requires private key authentication...IT DOESN'T WORK WITH USERNAME/PASSWORD
  5. New release should include source tarballs. I've added the assembly building stuff to the package phase of the builds in:
  • maven-core
  • maven-artifact-ant
  • maven-embedder
    via the assembly:attached goal, and a new assembly descriptor: src.xml.
  1. Extension to be added to enable scpexe:// URLs:
      <build>
        <extensions>
          <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
            <version>1.0-alpha-5</version>
          </extension>
        </extensions>
      </build>
    

Process I Followed

New machine setup

  • Had to add SSH key and servers/ config to my ~/.m2/settings.xml
    • repo1
    • beaver
    • minotaur
    • snapshots
    • central
  • Had to manually SSH into each machine to establish host key verification

Released Plexus

  • Had to update POM to use scpexe in the distributionManagement URLs
  • Had to svn switch --relocate from the svn+ssh URL to the https one.
  • Plexus-utils
  • Plexus-container-default
  • Plexus-ant-factory

Released Doxia

  • Had to update POM to use scpexe in the distributionManagement URLs
  • Changed package from org.codehaus.doxia to org.apache.maven.doxia
  • Changed groupId in the same way

Released Modello

  • Had to update POM to use scpexe in the distributionManagement URLs
  • Had to svn switch --relocate from the svn+ssh URL to the https one.
  • Changes to support XML encodings
  • Changes to support lax parsing (restored)

Released Maven 2.0.1

  • Had to update POM to use scpexe in the distributionManagement URLs
  • mvn clean release:prepare at components/pom.xml level
  • mvn release:perform at components/pom.xml level
    • FAILED: Doxia package rename killed the build.
      NOTE: ALWAYS perform 'install' phase when doing release:prepare, to be sure.
    • Added compatibility layer to maven-reporting-api and maven-reporting-impl to translate org.codehaus.doxia.* calls to org.apache.maven.doxia.* classes.
    • Committed changes to maven-2.0.1 tag
    • Retried mvn release:perform...SUCCESS
      • mvn assembly:assembly from components/maven-core/pom.xml level
      • Signed and uploaded as RC
      • Noted that binary size was 150% normal
      • Retried mvn clean assembly:assembly (NOTE the 'clean' phase called here.)
      • Signed and uploaded RC binaries
      • Announced RC.
      • Moved RC binaries to release download area next morning
    • mvn clean install release:prepare release:perform at components/maven-artifact-ant/pom.xml level.
      • mvn clean assembly:assembly...SUCCESS
      • Signed and uploaded binaries to release download area
    • mvn clean install release:prepare release:perform at components/maven-embedder/pom.xml level.
      • mvn clean assembly:assembly...SUCCESS
      • Signed and uploaded binaries to release download area
    • Updated website files to reflect 2.0.1 release:
      • site/src/site/apt/download.apt
      • site/src/site/xdoc/index.xml
      • Performed mvn site site:deploy at site/pom.xml level.
    • mvn -DperformRelease=true -N deploy at plugins/pom.xml level.
      • NOTE: It seems that the release plugin doesn't like the -N switch...it will iterate over all modules anyway.

Announced Release

  • Sent to announce at apache.org and users at maven.apache.org
    • Had to resend because my from: address wasn't an apache.org address...
  • No labels