~~ Licensed to the Apache Software Foundation (ASF) under one or more ~~ contributor license agreements. See the NOTICE file distributed with ~~ this work for additional information regarding copyright ownership. ~~ The ASF licenses this file to You under the Apache License, Version 2.0 ~~ (the "License"); you may not use this file except in compliance with ~~ the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, software ~~ distributed under the License is distributed on an "AS IS" BASIS, ~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~~ See the License for the specific language governing permissions and ~~ limitations under the License. ------ Release Checklist (Developer Info) ------ Release Checklist (Developer Info) Checklist of tasks to perform for each release. For general information about Apache releases you may also consult {{{http://www.apache.org/dev/publishing-maven-artifacts.html}Publishing Maven Artifacts}}. * Preparation * You need to add your GPG keys in {{{https://svn.apache.org/repos/asf/myfaces/keys/KEYS}Subversion}} and the {{{https://www.apache.org/dist/myfaces/KEYS}Apache site}} before a release. * Ensure that all open bugs and issues in {{{https://issues.apache.org/jira/}Jira}} 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". * Post a note and ask for problems with the release candidate (see {{Preparation template}} below). * 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 and 1.7 for deployment. * for Tobago 1.5.x use jdk 1.7. * for Tobago 2.0.x use jdk 1.8. * for Tobago 3.0.x use jdk 1.8. * 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 +------------------------+ * Building the Release (Tobago 1.0.x to 2.0.8) * 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- cd tobago- +------------------------+ * 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 +------------------------+ * Building the Release (Tobago 2.0.9 and higher) * Prepare and perform the release with: +------------------------+ mvn release:prepare mvn release:perform +------------------------+ * Staging repository * the repository on the {{{https://repository.apache.org/}Nexus}} instance for stating (you will receive a mail with the staging location). * Voting * Propose a vote on the dev list with the staging location (see {{Vote template}} below). * For a positive result wait at least 72 hours. * Once a vote is successful, post the result to the dev list. * Publishing * the version in {{{https://issues.apache.org/jira/}Jira}} and close all resolved issues for the release. * the staging repository on the {{{https://repository.apache.org/}Nexus}} instance. * Copy the download artifacts from the repository to the site (see script {{{./scripts/release-artifacts.sh}release-artifacts.sh}}). * Add the release version and date to the {{{https://reporter.apache.org/addrelease.html?myfaces}Apache Committee Report Helper}}. * Building the site * Updating the release and version information in the APT files of trunk, e. g.: +------------------------+ src/site/apt/api.apt src/site/apt/download.apt 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. +------------------------+ cd /Volumes/tobago-site svn co https://svn.apache.org/repos/asf/myfaces/tobago/trunk tobago-trunk svn co https://svn.apache.org/repos/asf/myfaces/site/publish/tobago tobago-publish cd tobago-trunk export MAVEN_OPTS="-Xmx1500m ${MAVEN_OPTS}" mvn clean package -Pattach-source mvn site:site mvn site:stage -DstagingDirectory=/Volumes/tobago-site/tobago-publish +------------------------+ * Update the site after the distribution is on the Apache mirrors available. * Workaround for Tobago 3 TLD documentation. There is a bug (TOBAGO-1654) so the TLDDOC will not be distributed. To upload it into the Maven repo follow these steps: +------------------------+ VERSION=3.0.5 svn co https://svn.apache.org/repos/asf/myfaces/tobago/tags/tobago-${VERSION} cd tobago-${VERSION}/tobago-core mvn clean install -Papache-release mvn deploy:deploy-file \ -DgroupId=org.apache.myfaces.tobago \ -DartifactId=tobago-core \ -Dversion=${VERSION} \ -Dclassifier=tlddoc \ -DgeneratePom=false \ -DrepositoryId=apache.releases.https \ -Durl=https://repository.apache.org/content/repositories/releases/ \ -Dfile=target/tobago-core-${VERSION}-tlddoc.jar +------------------------+ * 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 {{{./scripts/drop-artifacts.sh}drop-artifacts.sh}}). Older releases are automatic available in the {{{http://archive.apache.org/dist/myfaces/} archive}}. * 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. * Create and send announcement (see {{Announcement template}} below). {Preparation template} Send to: {{mailto:MyFaces Development \}} >. +------------------------+ Subject: [Tobago] Preparation for the release Hi, folks, I plan to build the of Tobago soon. If you know any blocking problems with the current SNAPSHOT, give me a hint. Regards, +------------------------+ {Vote template} Send to: {{mailto:MyFaces Development \}} >. +------------------------+ Subject: [VOTE] Release Tobago Hello, I would like to release Tobago . Major changes since last release are: This is a MAJOR release and may contain incompatible API changes. This is a MINOR release with new functionality in a backwards-compatible manner. This is a PATCH release with backwards-compatible bug fixes. For a detail list please consult the release notes at: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version= The version is available at the staging repository (Nexus) at: https://repository.apache.org/content/repositories/orgapachemyfaces-/ Please vote now! (The vote is open for 72h.) [ ] +1 [ ] +0 [ ] -1 Regards, +------------------------+ {Announcement template} For all versions send to: {{mailto:MyFaces Discussion \}}\ Only for major versions send to: {{mailto:announce@apache.org}} >. +------------------------+ Subject: [ANNOUNCE] Apache Tobago released The Apache MyFaces team is pleased to announce the release of Apache Tobago . Apache Tobago is a component library for JavaServer Faces (JSF) that allows to write web-applications without the need of coding HTML, CSS and JavaScript Main new features ----------------- Changes ------- Please check the release notes at http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&styleName=Html&version= for a full list of the changes in this version. Known limitations and bugs -------------------------- For more information about Apache Tobago, please visit http://myfaces.apache.org/tobago/. Have fun, -The MyFaces team +------------------------+