Checklist of tasks to perform for each release. For general information about Apache releases you may also consult .

- You need to add your GPG keys in and the before a release.
- Ensure that all open bugs and issues in have been either fixed or moved to an other release version.
- Ensure that all examples are working with the release candidate.
- Check the scheduled version number against "semantic versioning".
- and ask for problems with the release candidate. Replace the variable part <sender-name>.

      Subject: ${subject}

      ${content}

- Install (or unpack) a jdk 1.4 on your computer (only for Tobago 1.0.x).
- Please switch to a jdk depending of the version to build:
- for Tobago 1.0.x:
  - use jdk 1.5 or 1.6 for build
  - use jdk 1.7 for deployment
- for Tobago 1.5.x use jdk 1.7.
- for Tobago 2.x and higher use jdk 1.8 or 1.9.
- Perform basic checks on an unmodified checkout for all modules:

      # for Tobago 1.0.x
      $ mvn checkstyle:check rat:check -Pall-modules

      # for Tobago 1.5.x and higher
      $ mvn clean install -Pall-modules && mvn checkstyle:check apache-rat:check animal-sniffer:check -Pall-modules

      # for Tobago 2.0.9 and higher
      $ mvn clean install && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check

      # for Tobago 3.0.0 and higher
      $ mvn clean install -Pall-modules && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check -Pall-modules

      # for Tobago 4.2.0 and higher
      $ mvn clean install && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check

- Check version info in this file manually:

      $ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/package-info.java

Migrate this docs to use git!

- Prepare the release with:

      $ mvn release:prepare -Pall-modules

- Check out a fresh copy of the svn tag:

      cd ..
      svn co https://svn.apache.org/repos/asf/myfaces/tobago/tags/tobago-<version>
      cd tobago-<version>

- Deploy the fresh copy to the Nexus repository with the apache-release profile (we are not using release:perform here, because of some different options):

      # for Tobago 1.0.x
      # "install" with Java 1.6 and Maven 2
      $ mvn install -Papache-release,jdk14retro,generate-assembly --no-plugin-updates -Dnon-default-modules -Djava14.home=\${java14.jre}
      # "deploy" with Java 1.7 and Maven 3 (hotfix: also comment out the maven-apt-plugin stuff)
      $ mvn deploy -Papache-release,generate-assembly --no-plugin-updates -Dnon-default-modules

      # for Tobago 1.5.x to 2.0.8
      $ mvn deploy -Papache-release,generate-assembly --no-plugin-updates -Dnon-default-modules

- Prepare and perform the release with:

      $ mvn release:prepare
      $ mvn release:perform

- Close the repository on the instance for staging (you will receive a mail with the staging location).
- Update the staging and snapshot version on tobago-vm.apache.org

- Propose a with the staging location. Replace the variable part <sender-name>, <insert-list>, <use-one-of>, <a>, <b>or, <c>, <id-from-nexus>.

      Subject: ${subject}

      ${content}

- For a positive result wait at least 72 hours.
- Once a vote is successful, post the result to the dev list.

- Release the version in and close all resolved issues for the release.
- Release the staging repository on the instance.
- Copy the download artifacts from the repository to the site (see script ).
- Add the release version and date to the .
- Update the release and staging version on tobago-vm.apache.org
- Building the site
  - Updating the release and version information in the APT files of trunk, e. g.:

        tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Release.java
        src/site/apt/index.apt
        src/site/resources/doap_tobago.rdf

  - Note: The site can only be build correctly on file systems that supports to differ upper-/lower-case. This is not the default on Windows and Mac OS X machines. On Mac OS X you can mount a virtual filesystem (sparse bundle) that supports upper-/lower-case with the Disk Utility.

        $ TOBAGO_SITE=/Volumes/tobago-site
        $ cd $TOBAGO_SITE
        $ git clone https://github.com/apache/myfaces-tobago tobago-master
        $ svn co https://svn.apache.org/repos/asf/myfaces/site/publish/tobago tobago-publish
        $ cd tobago-master
        $ export MAVEN_OPTS="-Xmx1500m \${MAVEN_OPTS}"
        $ mvn clean package -Pattach-source
        $ mvn site:site
        $ mvn site:stage -DstagingDirectory=$TOBAGO_SITE/tobago-publish

- Call "reformat code" on all *.html file in $TOBAGO_SITE/tobago-publish in the IDE (the generated code has the main content in only one single line).
- Update the site after the distribution is on the Apache mirrors available.
- Unpack and commit the API Docs of the release with the update.sh (or update-1.5.sh) script in /Volumes/tobago-site/tobago-publish.
- Remove old download artifacts from the site (see script ). Older releases are automatic available in the .
- Remove old snapshots in the maven snapshot repository. This is done automatically, it is only needed, when there are dead development ends, e. g. last alpha or beta version like 3.0.0-beta-2-SNAPSHOT which will no longer developed.
- . Replace the variable parts <edit-me>.

      Subject: ${subject}

      ${content}

  For all versions send to MyFaces Discussion list. Only for major versions send to Apache Announces list.