Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Update the pdf of the online documentation and commit it
  • create a temporary release branch and change to it

    Code Block
    git branch release
    git checkout release
    
  • Change the release version information

    No Format
    title"files"
      ./build.properties:
          groovyVersion = 1.8.9
          groovyBundleVersion = 1.8.9
      ./gradle.properties:
          groovyVersion = 1.8.9
          groovyBundleVersion = 1.8.9
      .pom.xml:
          <version>1.8.9</version>
    
  • commit the change
  • Tag with that new release

    Code Block
      git tag -a GROOVY_1_8_9 -m "tagging release of Groovy 1.8.9"
    
  • Build zips and jars using:

    Code Block
    ant clean dist
    

    You may need to set ANT_OPTS=-Xmx512m (or similar) if you run out of memory when running GroovyDoc.

  • Upload all the zips (but not jars) to the WebDAV distribution site (https://dav.codehaus.org/dist/groovy/distributions), for example, or through rsync if you're authorized:

    Code Block
    rsync -vlogDrzP ./target/dist/*.zip $USER@groovy.codehaus.org:/projects/groovy/dist/
    

    (just check they are in the right place afterwards; you may still need a webdav client to move them into the right subdirectories if something goes wrong)

  • Put m2 jars into right place for uptake into repo1 (see Publishing artifacts on Building Groovy from Sourcefor more details):

    Code Block
    ant -DskipTests=true deploy
    

    If releasing Groovy 1.6, also do this:

    Code Block
    ant -DskipTests=true -DforceRetro=true -Djdk14home=... deploy    // for jdk14 artifacts also
    

    (Note 1: there is currently some duplicated work done by 'ant dist' above and 'ant deploy' here which we need to eventually consolidate)
    Should there be a problem when uploading the jars, check that there is a file ~/.m2/settings.xml containing:

    Code Block
    XML
    XML
    <?xml version="1.0"?>
    <settings>
      <servers>
        <server>
          <id>codehaus.org</id>
          <username>USER</username>
          <password>PASSWORD</password>
        </server>
      </servers>
    </settings>
    

    Where USER and PASSWORD are replaced if the right values.

  • Upload the javadocs through rsync to the WebDAV web site (https://dav.codehaus.org/groovy/), for example:

    Code Block
    rsync -vlogDrzP ./target/html/* $USER@groovy.codehaus.org:/projects/groovy/web/
    
  • remove the release branch and push the release tag

    Code Block
    git checkout <branch you released from>
    git branch -D release
    git push --tags
    
  • advance the version in your branch in pom.xml, build.properties and gradle.properties (don't forget the -SNAPSHOT)
  • Update the download links: http://docs.codehaus.org/display/GROOVY/Download
  • Update the versions.json file in http://dist.groovy.codehaus.org/ through webdav to add a reference to the new version, so that GVM can automatically pickup new releases

    Code Block
    languagejavascript
        {
            "version": "2.1.1",
            "link": "http://dist.groovy.codehaus.org/distributions/groovy-binary-2.1.1.zip",
            "type": "final",
            "default": true
        }
  • Announce the release (mailing-list, Groovy blog, twitter, Google+...)
  • Update the release version information to the next snapshot

...