| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| * 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. |
| --> |
| |
| <ui:composition template="/main.xhtml" |
| xmlns="http://www.w3.org/1999/xhtml" |
| xmlns:c="http://java.sun.com/jsp/jstl/core" |
| xmlns:f="http://java.sun.com/jsf/core" |
| xmlns:tc="http://myfaces.apache.org/tobago/component" |
| xmlns:ui="http://java.sun.com/jsf/facelets"> |
| |
| <tc:section label="Release Checklist (Developer Info)"> |
| |
| <tc:section label="Step by Step"> |
| |
| Checklist of tasks to perform for each release. For general information about Apache releases you may also consult |
| <tc:link label="Publishing Maven Artifacts" link="http://www.apache.org/dev/publishing-maven-artifacts.html" |
| image="fa-external-link"/>. |
| |
| <tc:section label="Preparation"> |
| |
| <ul> |
| <li>You need to add your GPG keys in <tc:link label="Subversion" |
| link="https://svn.apache.org/repos/asf/myfaces/keys/KEYS" |
| image="fa-external-link"/> |
| and the <tc:link label="Apache site" link="https://www.apache.org/dist/myfaces/KEYS" |
| image="fa-external-link"/> before a release. |
| </li> |
| |
| <li>Ensure that all open bugs and issues in |
| <tc:link label="Jira" |
| link="https://issues.apache.org/jira/issues/?jql=project%20%3D%20TOBAGO%20AND%20fixVersion%20%3D%20#{apiController.releases[0].version}" |
| image="fa-external-link"/> have been either fixed |
| or moved to an other release version. |
| </li> |
| |
| <li>Ensure that all examples are working with the release candidate. |
| </li> |
| |
| <li>Check the scheduled version number against "semantic versioning". |
| </li> |
| |
| <li> |
| <tc:link label="Post a note" omit="true" image="fa-info"> |
| <tc:operation name="show" for="preparation-email"/> |
| </tc:link> |
| and ask for problems with the release candidate. |
| <tc:popup markup="large" collapsedMode="hidden" id="preparation-email"> |
| <tc:box label="Preparation email"> |
| <f:facet name="bar"> |
| <tc:button image="fa-close" omit="true"> |
| <tc:operation name="hide" for="preparation-email"/> |
| </tc:button> |
| </f:facet> |
| <i>Replace the variable part <sender-name></i>. |
| <tc:separator/> |
| <c:set var="subject" value="[Tobago] Preparation for the #{apiController.releases[0].version} release"/> |
| <c:set var="content" |
| value="Hi, folks, |
| 
 |
| 
we plan to build version #{apiController.releases[0].version} of Tobago soon. |
| 
 |
| 
If you know any blocking problems with the current SNAPSHOT, give me a hint. |
| 
 |
| 
Regards, |
| 
<sender-name>"/> |
| <pre><code>Subject: ${subject} |
| |
| ${content} |
| </code></pre> |
| <tc:separator/> |
| <tc:button |
| label="Create email" |
| defaultCommand="true" |
| link="mailto:MyFaces Development <dev@myfaces.apache.org>" |
| image="fa-external-link"> |
| <f:param name="subject" value="${subject}"/> |
| <f:param name="body" value="${content}"/> |
| </tc:button> |
| </tc:box> |
| </tc:popup> |
| </li> |
| |
| <li>Install (or unpack) a jdk 1.4 on your computer (only for Tobago 1.0.x). |
| </li> |
| |
| <li>Please switch to a jdk depending of the version to build: |
| </li> |
| |
| <li>for Tobago 1.0.x: |
| <ul> |
| <li>use jdk 1.5 or 1.6 for build</li> |
| <li>use jdk 1.7 for deployment</li> |
| </ul> |
| </li> |
| |
| <li>for Tobago 1.5.x use jdk 1.7. |
| </li> |
| |
| <li>for Tobago 2.x and higher use jdk 1.8 or higher. |
| </li> |
| |
| <li>Perform basic checks on an unmodified checkout for all modules: |
| |
| <pre><code class="language-bash"># 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 |
| </code></pre> |
| </li> |
| |
| <li>Check version info in this file manually: |
| <pre><code |
| class="language-bash">$ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/package-info.java</code></pre> |
| </li> |
| </ul> |
| </tc:section> |
| <tc:section label="Building the Release (Tobago 1.0.x to 2.0.8)"> |
| <tc:badge value="Todo:" markup="warning"/> Migrate this docs to use git! |
| <ul> |
| <li>Prepare the release with: |
| |
| <pre><code class="language-bash">$ mvn release:prepare -Pall-modules</code></pre> |
| </li> |
| |
| <li>Check out a fresh copy of the svn tag: |
| |
| <pre><code class="language-bash">cd .. |
| svn co https://svn.apache.org/repos/asf/myfaces/tobago/tags/tobago-<version> |
| cd tobago-<version> |
| </code></pre> |
| </li> |
| |
| <li>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): |
| |
| <pre><code class="language-bash"># 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 |
| </code></pre> |
| </li> |
| </ul> |
| </tc:section> |
| |
| <tc:section label="Building the Release (Tobago 2.0.9 and higher)"> |
| <ul> |
| <li>Prepare and perform the release with: |
| |
| <pre><code class="language-bash">$ mvn release:prepare |
| $ mvn release:perform |
| </code></pre> |
| </li> |
| <li>Make public available: |
| |
| <pre><code class="language-bash">$ git push |
| </code></pre> |
| </li> |
| </ul> |
| </tc:section> |
| |
| <tc:section label="Staging repository"> |
| <ul> |
| <li><i>Close</i> the repository on the <tc:link label="Nexus" link="https://repository.apache.org/" |
| image="fa-external-link"/> instance for staging (you will receive a mail with the staging location). |
| </li> |
| |
| <li>Update the staging and snapshot version on tobago-vm.apache.org |
| </li> |
| </ul> |
| </tc:section> |
| |
| <tc:section label="Voting"> |
| <ul> |
| <li>Propose a |
| <tc:link label="vote on the dev list" omit="true" image="fa-info"> |
| <tc:operation name="show" for="vote-email"/> |
| </tc:link> with the staging location. |
| <tc:popup markup="large" collapsedMode="hidden" id="vote-email"> |
| <tc:box label="Voting email"> |
| <f:facet name="bar"> |
| <tc:button image="fa-close" omit="true"> |
| <tc:operation name="hide" for="vote-email"/> |
| </tc:button> |
| </f:facet> |
| <i>Replace the variable part <sender-name>, <insert-list>, <use-one-of>, <a>, <b>or, <c>, <id-from-nexus></i>. |
| <tc:separator/> |
| <c:set var="subject" value="[VOTE] Release Tobago #{apiController.releases[0].version}"/> |
| <c:set var="content" |
| value="Hello, |
| 
 |
| 
We would like to release Tobago #{apiController.releases[0].version}. |
| 
 |
| 
Major changes since last release are: |
| 
 |
| 
<insert-list> |
| 
 |
| 
<use-one-of> |
| 
<a> This is a MAJOR release and may contain incompatible API changes. |
| 
<b> This is a MINOR release with new functionality in a backwards-compatible manner. |
| 
<c> 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=#{apiController.releases[0].jira} |
| 
 |
| 
The version is available at the staging repository (Nexus) at: |
| 
 |
| 
https://repository.apache.org/content/repositories/orgapachemyfaces-<id-from-nexus>/ |
| 
 |
| 
 |
| 
 TODO: insert Link and SHA-1 of the sources |
| 
 |
| 
 |
| 
Please vote now! (The vote is open for 72h.) |
| 
 |
| 
[ ] +1 |
| 
[ ] +0 |
| 
[ ] -1 |
| 
 |
| 
Regards, |
| 
<sender-name>"/> |
| <pre><code>Subject: ${subject} |
| |
| ${content}</code></pre> |
| <tc:separator/> |
| <tc:button |
| label="Create email" |
| defaultCommand="true" |
| link="mailto:MyFaces Development <dev@myfaces.apache.org>" |
| image="fa-pencil"> |
| <f:param name="subject" value="${subject}"/> |
| <f:param name="body" value="${content}"/> |
| </tc:button> |
| </tc:box> |
| </tc:popup> |
| </li> |
| |
| <li>For a positive result wait at least 72 hours. |
| </li> |
| |
| <li>Once a vote is successful, post the result to the dev list. |
| </li> |
| </ul> |
| </tc:section> |
| |
| <tc:section label="Publishing"> |
| <ul> |
| <li><i>Release</i> the version in <tc:link label="Jira" link="https://issues.apache.org/jira/" |
| image="fa-external-link"/> and close all resolved issues for the release. |
| </li> |
| |
| <li><i>Release</i> the staging repository on the <tc:link label="Nexus" link="https://repository.apache.org/" |
| image="fa-external-link"/> instance. |
| </li> |
| |
| <li>Copy the download artifacts from the repository to the site (see script |
| <tc:link label="release-artifacts.sh" link="./release-artifacts.sh" image="fa-download"/>). |
| </li> |
| |
| <li>Add the release version and date to the <tc:link label="Apache Committee Report Helper" |
| link="https://reporter.apache.org/addrelease.html?myfaces" |
| image="fa-external-link"/>. |
| </li> |
| |
| <li>Update the release and staging version on tobago-vm.apache.org |
| </li> |
| |
| <li>Building the site |
| |
| <ul> |
| <li>Updating the release and version information in the APT files of trunk, e. g.: |
| |
| <!--todo this has changed!--> |
| <pre><code class="language-bash">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</code></pre> |
| </li> |
| |
| <li> |
| <pre><code class="language-bash">$ 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</code></pre> |
| </li> |
| </ul> |
| </li> |
| |
| <li>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). |
| </li> |
| |
| <li>Update the site after the distribution is on the Apache mirrors available. |
| </li> |
| |
| <li>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. |
| </li> |
| |
| <li>Remove old download artifacts from the site (see script |
| <tc:link label="drop-artifacts.sh" link="./drop-artifacts.sh" image="fa-download"/>). |
| Older releases are automatic available in the <tc:link label=" archive" |
| link="http://archive.apache.org/dist/myfaces/" |
| image="fa-external-link"/>. |
| </li> |
| |
| <li>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. |
| </li> |
| |
| <li> |
| <tc:link label="Create and send announcement" omit="true" image="fa-info"> |
| <tc:operation name="show" for="announcement-email"/> |
| </tc:link>. |
| <tc:popup markup="large" collapsedMode="hidden" id="announcement-email"> |
| <tc:box label="Announcement email"> |
| <f:facet name="bar"> |
| <tc:button image="fa-close" omit="true"> |
| <tc:operation name="hide" for="announcement-email"/> |
| </tc:button> |
| </f:facet> |
| <i>Replace the variable parts <edit-me></i>. |
| <tc:separator/> |
| <c:set var="subject" value="[ANNOUNCE] Apache Tobago #{apiController.releases[0].version} released"/> |
| <c:set var="content" |
| value="The Apache MyFaces team is pleased to announce the release of Apache |
| 
Tobago <version>. |
| 
 |
| 
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 |
| 
----------------- |
| 
 |
| 
<list of main new features here or remove this section> |
| 
 |
| 
Changes |
| 
------- |
| 
 |
| 
Please check the release notes at |
| 
http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=#{apiController.releases[0].jira} |
| 
for a full list of the changes in this version. |
| 
 |
| 
Known limitations and bugs |
| 
-------------------------- |
| 
 |
| 
<add main limitations and known bugs here or remove this section> |
| 
 |
| 
For more information about Apache Tobago, please visit |
| 
http://myfaces.apache.org/tobago/. |
| 
 |
| 
Have fun, |
| 
-The MyFaces team"/> |
| <pre><code>Subject: ${subject} |
| |
| ${content}</code></pre> |
| <tc:separator/> |
| <p> |
| For all versions send to MyFaces Discussion list. Only for major versions send to Apache Announces list. |
| </p> |
| <tc:button |
| label="Create email for any version" |
| defaultCommand="true" |
| link="mailto:MyFaces Discussion <users@myfaces.apache.org>" |
| image="fa-pencil"> |
| <f:param name="subject" value="${subject}"/> |
| <f:param name="body" value="${content}"/> |
| </tc:button> |
| <tc:button |
| label="Create email for major version" |
| defaultCommand="true" |
| link="mailto:MyFaces Announces <announce@apache.org>" |
| image="fa-pencil"> |
| <f:param name="subject" value="${subject}"/> |
| <f:param name="body" value="${content}"/> |
| </tc:button> |
| </tc:box> |
| </tc:popup> |
| </li> |
| </ul> |
| </tc:section> |
| </tc:section> |
| |
| </tc:section> |
| |
| </ui:composition> |