blob: 032022d21e3b4223c59bf7e6b0e742816f51d808 [file] [log] [blame]
<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">
&gt; 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">
&gt; mvn clean install -Pdocs,apache-release
&gt; mvn release:prepare -DdryRun=<span class="code-keyword">true</span>
&gt; mvn deploy -Pdocs
&gt; mvn release:clean
&gt; mvn release:prepare -Dusername=YOUR_ASF_USERNAME -Dpassword=YOUR_ASF_PASSWORD
&gt; 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&amp;runQuery=<span class="code-keyword">true</span>&amp;clear=<span class="code-keyword">true</span>
</span>
The tag to be voted upon:
&lt;GIT_URL_OF_THE_RELEASE_TAG&gt; (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:
&lt;URL_OF_THE_CLOSED_REPO_FROM_ABOVE_STEP&gt; (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">&lt;release&gt;</span>
<span class="code-tag">&lt;Version&gt;</span>
<span class="code-tag">&lt;name&gt;</span>Apache Shiro VERSION<span class="code-tag">&lt;/name&gt;</span>
<span class="code-tag">&lt;created&gt;</span>RELEASE_DATE<span class="code-tag">&lt;/created&gt;</span>
<span class="code-tag">&lt;revision&gt;</span>VERSION<span class="code-tag">&lt;/revision&gt;</span>
<span class="code-tag">&lt;/Version&gt;</span>
<span class="code-tag">&lt;/release&gt;</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 &#65279;cd&#160;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/&lt;version&gt;/shiro-root-&lt;version&gt;-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/&lt;version&gt;/shiro-root-&lt;version&gt;-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/&lt;version&gt;/shiro-root-&lt;version&gt;-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/&lt;version&gt;/shiro-root-&lt;version&gt;-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/&lt;version&gt;/shiro-root-&lt;version&gt;-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/&lt;version&gt;/shiro-root-&lt;version&gt;-source-release.zip.asc.sha1</span></pre>
</div></div></li></ol>
</li><li>Update the Shiro wiki's &#65279;<a href="download.html" title="Download">Download</a>&#160;page to include a new entry for 1.2.1</li><li>Update the Shiro wiki's&#160;&#65279;<a href="index.html" title="Index">Index</a>&#160;page and update the download 'block'. &#160;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:&#160;[ANNOUNCE] Apache Shiro &lt;version&gt; 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>