| <h2><a name="PerformingaRelease-CreatetheReleaseandVote"></a>Create the Release and Vote</h2> |
| |
| <ol><li>Ensure you are using JDK 1.6 (1.7 will not work) and Maven 3.0.3 (or later) for the following steps.</li><li>Run Apache RAT to ensure that we're Apache compliant: |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java"> |
| > mvn apache-rat:check |
| </pre> |
| </div></div> |
| <p>Resolve any errors as necessary (usually amounts to placing the ASF license header at the top of files).</p></li><li>Execute the maven commands below to go through the release process. If there are any errors that you can't resolve, contact the <tt>dev@shiro.apache.org</tt> mailing list. |
| <div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>GPG Installed</b><br clear="none">This release process requires the <tt>gpg</tt> binary to be in your command $PATH and your code signing key configured for your account.</td></tr></table></div> |
| <p>Commands:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java"> |
| > mvn clean install -Pdocs,apache-release |
| > mvn release:prepare -DdryRun=<span class="code-keyword">true</span> |
| > mvn deploy -Pdocs |
| > mvn release:clean |
| > mvn release:prepare -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD |
| > mvn release:perform -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD |
| </pre> |
| </div></div></li><li>Log in to <a class="external-link" href="https://repository.apache.org">https://repository.apache.org</a>. Navigate to "Staging Repositories" (on the left nav panel). Find the repository starting with 'org.apache.shiro' and <tt>close</tt> it.</li><li>Send out the VOTE email to the <tt>dev@shiro.apache.org</tt> mailing list. Here's a good template: |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java"> |
| This is a call to vote in favor of releasing Apache Shiro version 1.2.0. |
| |
| The 59 issues solved <span class="code-keyword">for</span> 1.2.0: |
| |
| https:<span class="code-comment">//issues.apache.org/jira/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+SHIRO+AND+fixVersion+%3D+%221.2.0%22+AND+%28status+%21%3D+Open+and+status+%21%3D+%22In+Progress%22%29+ORDER+BY+priority+DESC&runQuery=<span class="code-keyword">true</span>&clear=<span class="code-keyword">true</span> |
| </span> |
| The tag to be voted upon: |
| <GIT_URL_OF_THE_RELEASE_TAG> (e.g. https:<span class="code-comment">//github.com/apache/shiro/tree/1.2.0) |
| </span> |
| Staging repo <span class="code-keyword">for</span> binaries: |
| <URL_OF_THE_CLOSED_REPO_FROM_ABOVE_STEP> (e.g. https:<span class="code-comment">//repository.apache.org/content/repositories/orgapacheshiro-92/) |
| </span> |
| Project website (just <span class="code-keyword">for</span> informational purposes, not to be voted upon): |
| http:<span class="code-comment">//shiro.apache.org/ |
| </span>and maven <span class="code-keyword">static</span> generated site (<span class="code-keyword">for</span> informational purposes, not to be voted upon): |
| people.apache.org:/www/shiro.apache.org/<span class="code-keyword">static</span>/1.2.0 or http:<span class="code-comment">//shiro.apache.org/<span class="code-keyword">static</span>/1.2.0 (once it propagates to web servers) |
| </span> |
| Guide to testing staged releases: |
| http:<span class="code-comment">//maven.apache.org/guides/development/guide-testing-releases.html |
| </span> |
| Vote open <span class="code-keyword">for</span> 72 hours. Please <span class="code-keyword">do</span> examine the source and binaries before voting. |
| |
| [ ] +1 |
| [ ] +0 |
| [ ] -1 (please include reasoning) |
| </pre> |
| </div></div></li></ol> |
| |
| |
| <h2><a name="PerformingaRelease-AfteraSuccessfulVote"></a>After a Successful Vote</h2> |
| |
| <ol><li>Update the <a class="external-link" href="https://github.com/apache/shiro/blob/master/shiro.doap.rdf">Shiro DOAP file in git</a> to include another release information chunk (<em>after</em> the other similar chunks): |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-xml"> |
| <span class="code-tag"><release></span> |
| <span class="code-tag"><Version></span> |
| <span class="code-tag"><name></span>Apache Shiro VERSION<span class="code-tag"></name></span> |
| <span class="code-tag"><created></span>RELEASE_DATE<span class="code-tag"></created></span> |
| <span class="code-tag"><revision></span>VERSION<span class="code-tag"></revision></span> |
| <span class="code-tag"></Version></span> |
| <span class="code-tag"></release></span> |
| </pre> |
| </div></div> |
| <p><br clear="none" class="atl-forced-newline"> |
| With the appropriate <tt>RELEASE_DATE</tt> (e.g. 2011-10-01) and <tt>VERSION</tt> (e.g. 1.1.0). Save and commit the file to Git. |
| <br clear="none" class="atl-forced-newline"> |
| <br clear="none" class="atl-forced-newline"></p></li><li>Put the distribution on the ASF web servers |
| <ol><li>SSH into people.apache.org and cd to to Shiro's distribution location: |
| <br clear="none" class="atl-forced-newline"> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java">cd /www/www.apache.org/dist/shiro</pre> |
| </div></div></li><li>Create a subdirectory for the specific version number released: |
| <br clear="none" class="atl-forced-newline"> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java">mkdir 1.2.1</pre> |
| </div></div></li><li>Acquire the source release .zip and it's verifying files (.md5, .sha1, .asc, .asc.md5, .asc.sha1) from <a class="external-link" href="https://repository.apache.org">https://repository.apache.org</a> |
| <br clear="none" class="atl-forced-newline"> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java">wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip |
| </span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.md5 |
| </span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.sha1 |
| </span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc |
| </span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc.md5 |
| </span>wget --no-check-certificate https:<span class="code-comment">//repository.apache.org/content/groups/<span class="code-keyword">public</span>/org/apache/shiro/shiro-root/<version>/shiro-root-<version>-source-release.zip.asc.sha1</span></pre> |
| </div></div></li></ol> |
| </li><li>Update the Shiro wiki's <a href="download.html" title="Download">Download</a> page to include a new entry for 1.2.1</li><li>Update the Shiro wiki's <a href="index.html" title="Index">Index</a> page and update the download 'block'.  This must be done via the Wiki Markup View so JavaScript can be edited.</li><li>Make an announcement as a Shiro blog article. You can look at <a class="external-link" href="2012/01/24/apache-shiro-120-released.html">a previous announcement</a> as an example.</li><li>Make the same announcement on the Shiro user list (subject: [ANNOUNCE] Apache Shiro <version> released) and CC the developer list.</li><li>Update the <a class="external-link" href="http://en.wikipedia.org/wiki/Apache_Shiro" rel="nofollow">Apache Shiro Wikipedia page</a> to reflect the latest release information.</li><li>Update the 'current' symbolic link on people.apache.org to reference the latest static site documentation. For example (replace <b>1.2.1</b> with the latest version): |
| <br clear="none" class="atl-forced-newline"> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java"> |
| $ ssh people.apache.org |
| $ cd /www/apache.shiro.org/<span class="code-keyword">static</span> |
| $ rm current |
| $ ln -s 1.2.1 current |
| </pre> |
| </div></div></li></ol> |