You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by bu...@apache.org on 2014/10/20 15:52:32 UTC

svn commit: r926207 - in /websites/staging/mina/trunk/content: ./ mina-project/developper-guide.html

Author: buildbot
Date: Mon Oct 20 13:52:31 2014
New Revision: 926207

Log:
Staging update by buildbot for mina

Modified:
    websites/staging/mina/trunk/content/   (props changed)
    websites/staging/mina/trunk/content/mina-project/developper-guide.html

Propchange: websites/staging/mina/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Oct 20 13:52:31 2014
@@ -1 +1 @@
-1631036
+1633155

Modified: websites/staging/mina/trunk/content/mina-project/developper-guide.html
==============================================================================
--- websites/staging/mina/trunk/content/mina-project/developper-guide.html (original)
+++ websites/staging/mina/trunk/content/mina-project/developper-guide.html Mon Oct 20 13:52:31 2014
@@ -160,17 +160,18 @@
 <li><a href="#step-3-processing-with-the-real-release">Step 3 : Processing with the real release</a></li>
 <li><a href="#step-4-perform-the-release">Step 4 : perform the release</a></li>
 <li><a href="#step-5-closing-the-staging-release-on-nexus">Step 5 : closing the staging release on nexus</a></li>
+<li><a href="#step-6-build-the-site">Step 6 : Build the Site</a></li>
+<li><a href="#step-8-publish-source-and-binary-distribution-packages">Step 8 : Publish Source and Binary Distribution Packages</a></li>
+<li><a href="#step-9-test-the-new-version-with-ftpserver-sshd-and-vysper">Step 9 : Test the New Version with FtpServer, Sshd and Vysper</a></li>
 </ul>
 </li>
-<li><a href="#voting-a-release">Voting a release</a><ul>
-<li><a href="#step-1-send-a-vote-mail-on-the-mailing-list">Step 1 : Send a [VOTE] mail on the mailing list</a></li>
-<li><a href="#step-2-close-the-vote">Step 2 : Close the vote</a></li>
-<li><a href="#step-3-deploy-web-reports-javadoc-and-jxr">Step 3: Deploy Web Reports (JavaDoc and JXR)</a></li>
-<li><a href="#step-4-wait-24-hours">Step 4: Wait 24 hours</a></li>
-<li><a href="#step-5-update-the-links-in-web-site">Step 5: Update the Links in Web Site</a></li>
-<li><a href="#step-8-update-related-metadata-files">Step 8: Update related metadata file(s)</a></li>
-<li><a href="#step-9-wait-another-24-hours">Step 9: Wait another 24 hours</a></li>
-<li><a href="#step-10-announce-the-new-release">Step 10: Announce the New Release</a></li>
+<li><a href="#step-10-voting-a-release">Step 10 : Voting a release</a><ul>
+<li><a href="#step-11-close-the-vote">Step 11 : Close the vote</a></li>
+<li><a href="#step-12-deploy-web-reports-javadoc-and-jxr">Step 12: Deploy Web Reports (JavaDoc and JXR)</a></li>
+<li><a href="#step-13-wait-24-hours">Step 13: Wait 24 hours</a></li>
+<li><a href="#step-14-update-the-links-in-web-site">Step 14: Update the Links in Web Site</a></li>
+<li><a href="#step-15-wait-another-24-hours">Step 15: Wait another 24 hours</a></li>
+<li><a href="#step-16-announce-the-new-release">Step 16: Announce the New Release</a></li>
 </ul>
 </li>
 <li><a href="#creating-a-new-release-branch">Creating a New Release Branch</a></li>
@@ -230,6 +231,10 @@ $ <span class="n">mvn</span><span class=
 
 
 <p>Then <code>mvn eclipse:eclipse</code> command is executed internally, and the branch name will be appended to all sub-module project files generated by Maven Eclipse plugin.</p>
+<DIV class="note" markdown="1">
+Working with Eclipse LUNA allows you to import the pom.xml directly into the workspace, instead of running mvn eclipse:eclipse, which is quite convenient. Although you still need to tweak your pom if you want to work with more than one version of MINA in your workspace.
+</DIV>
+
 <h1 id="deploying-snapshots-commiters-only">Deploying Snapshots (Commiters Only)</h1>
 <p>Before running Maven to deploy artifacts, <em>please make sure if your umask is configured correctly</em>.  Unless configured properly, other committers will experience annoying 'permission denied' errors.  If your default shell is <code>bash</code>, please update your umask setting in the <code>~/.bashrc</code> file (create one if it doesn't exist.) by adding the following line:</p>
 <div class="codehilite"><pre><span class="n">umask</span> 002
@@ -350,6 +355,9 @@ Do **not** type <enter> to select the de
 Make sure the change made by the release plugin is correct! (pom.xml, tags created)
 </DIV>
 
+<p>Now, you have to build the project :</p>
+<p>$ mvn clean install -Pserial</p>
+<p>It should not be a necessay step, but at the moment, we have an issue with the Javadoc plugin which requires the modules to have been built before running the release.</p>
 <h3 id="step-3-processing-with-the-real-release">Step 3 : Processing with the real release</h3>
 <p>When the dry run is successful, then you can do in real with the following commands:</p>
 <div class="codehilite"><pre>$ <span class="n">mvn</span> <span class="o">-</span><span class="n">Pserial</span><span class="p">,</span><span class="n">apache</span><span class="o">-</span><span class="n">release</span> <span class="n">release</span><span class="p">:</span><span class="n">clean</span>      # <span class="n">Clean</span> <span class="n">up</span> <span class="n">the</span> <span class="n">temporary</span> <span class="n">files</span> <span class="n">created</span> <span class="n">by</span> <span class="n">the</span> <span class="n">dry</span><span class="o">-</span><span class="n">run</span><span class="p">.</span>
@@ -444,11 +452,206 @@ $ <span class="n">mvn</span> <span class
 <h3 id="step-5-closing-the-staging-release-on-nexus">Step 5 : closing the staging release on nexus</h3>
 <p>Now, you have to close the staged project on nexus. In order to do that you <em>must</em> have exported your PGP key to a PGP public server <a href="http://www.apache.org/dev/openpgp.html">see</a></p>
 <p>Connect to the Nexus server (https://repository.apache.org), login, and select the MINA staging repository you just created, then click on the 'close' button. You are home...</p>
+<h3 id="step-6-build-the-site">Step 6 : Build the Site</h3>
+<div class="codehilite"><pre>$ <span class="n">cd</span> <span class="n">target</span><span class="o">/</span><span class="n">checkout</span>
+$ <span class="n">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">site</span>
+</pre></div>
+
+
+<p>This creates the site.</p>
+<DIV class="info" markdown="1">
+
+### Step 7 : Sign the packages 
+
+Now, you have to sign the binary packages which are in target/checkout/distribution/target.
+
+Use your PGP key ID (the pub key, 4096R/[XXXXXXX] where [XXXXXXX] is the key ID)
+</DIV>
+
+<p>You can get the keys by typing :</p>
+<div class="codehilite"><pre><span class="n">gpg</span> <span class="o">--</span><span class="n">list</span><span class="o">-</span><span class="n">keys</span>
+</pre></div>
+
+
+<p>You'll get something like :</p>
+<p>$ gpg --list-keys
+  /Users/elecharny/.gnupg/pubring.gpg</p>
+<hr />
+<p>pub   2048D/xxxxxxxx 2009-12-03
+  uid                  Emmanuel Lecharny <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#101;&#108;&#101;&#99;&#104;&#97;&#114;&#110;&#121;&#64;&#110;&#101;&#120;&#116;&#117;&#114;&#121;&#46;&#99;&#111;&#109;">&#101;&#108;&#101;&#99;&#104;&#97;&#114;&#110;&#121;&#64;&#110;&#101;&#120;&#116;&#117;&#114;&#121;&#46;&#99;&#111;&#109;</a>
+  sub   2048g/yyyyyyyy 2009-12-03</p>
+<p>pub   4096R/zzzzzzzz 2010-09-13
+  uid                  Emmanuel Lecharny (CODE SIGNING KEY) <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#101;&#108;&#101;&#99;&#104;&#97;&#114;&#110;&#121;&#64;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#111;&#114;&#103;">&#101;&#108;&#101;&#99;&#104;&#97;&#114;&#110;&#121;&#64;&#97;&#112;&#97;&#99;&#104;&#101;&#46;&#111;&#114;&#103;</a>
+  sub   4096R/tttttttt 2010-09-13
+  ...</p>
+<p>Take the <zzzzzzzz> part of your 4096 bit key.</p>
+<p>Use a shell script to sign the packages which are stored in target/checkout/distribution/target :</p>
+<p>localhost:target elecharny$ ~/sign.sh 
+  PGP Key ID: 
+  <your PGP key>
+  PGP Key Password: 
+  <Your PGP passphrase></p>
+<p>-n Signing: ./apache-mina-2.0.9-bin.tar.bz2 ... 
+    - Generated './apache-mina-2.0.9-bin.tar.bz2.md5'
+    - Generated './apache-mina-2.0.9-bin.tar.bz2.sha1'
+    - Generated './apache-mina-2.0.9-bin.tar.bz2.asc'
+  -n Signing: ./apache-mina-2.0.9-bin.tar.gz ... 
+    - Generated './apache-mina-2.0.9-bin.tar.gz.md5'
+    - Generated './apache-mina-2.0.9-bin.tar.gz.sha1'
+    - Generated './apache-mina-2.0.9-bin.tar.gz.asc'
+  ...</p>
+<p>Here is the sign.sh script you can use :</p>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46</pre></div></td><td class="code"><div class="codehilite"><pre><span class="c">#!/bin/sh</span>
+
+<span class="nb">echo</span> <span class="s2">&quot;PGP Key ID: &quot;</span>
+<span class="nb">read </span>DEFAULT_KEY
+
+<span class="nb">echo</span> <span class="s2">&quot;PGP Key Password: &quot;</span>
+stty -echo
+<span class="nb">read </span>PASSWORD
+stty <span class="nb">echo</span>
+<span class="nb">echo</span> <span class="s2">&quot;&quot;</span>
+
+<span class="k">for </span>FILE in <span class="k">$(</span>find . -maxdepth 1 -not <span class="s1">&#39;(&#39;</span> -name <span class="s2">&quot;sign.sh&quot;</span> -or -name <span class="s2">&quot;.*&quot;</span> -or -name <span class="s2">&quot;*.md5&quot;</span> -or -name <span class="s2">&quot;*.sha1&quot;</span> -or -name <span class="s2">&quot;*.asc&quot;</span> <span class="s1">&#39;)&#39;</span> -and -type f<span class="k">)</span> ; <span class="k">do</span>
+<span class="k">    if</span> <span class="o">[</span> -f <span class="s2">&quot;$FILE.asc&quot;</span> <span class="o">]</span>; <span class="k">then</span>
+<span class="k">        </span><span class="nb">echo</span> <span class="s2">&quot;Skipping: $FILE&quot;</span>
+        <span class="k">continue</span>
+<span class="k">    fi</span>
+
+<span class="k">    </span><span class="nb">echo</span> -n <span class="s2">&quot;Signing: $FILE ... &quot;</span>
+
+    <span class="c"># MD5</span>
+    <span class="k">if</span> <span class="o">[</span> ! -f <span class="s2">&quot;$FILE.md5&quot;</span> <span class="o">]</span>;
+    <span class="k">then</span>
+<span class="k">        </span>openssl md5 &lt; <span class="s2">&quot;$FILE&quot;</span> | cut <span class="s2">&quot;-d &quot;</span> -f2 &gt; <span class="s2">&quot;$FILE.md5&quot;</span>
+        <span class="nb">echo</span> <span class="s2">&quot;  - Generated &#39;$FILE.md5&#39;&quot;</span>
+    <span class="k">else</span>
+<span class="k">        </span><span class="nb">echo</span> <span class="s2">&quot;  - Skipped &#39;$FILE.md5&#39; (file already existing)&quot;</span>
+    <span class="k">fi</span>
+
+    <span class="c"># SHA1</span>
+    <span class="k">if</span> <span class="o">[</span> ! -f <span class="s2">&quot;$FILE.sha1&quot;</span> <span class="o">]</span>;
+    <span class="k">then</span>
+<span class="k">        </span>gpg -v --default-key <span class="s2">&quot;$DEFAULT_KEY&quot;</span> --print-md SHA1 <span class="s2">&quot;$FILE&quot;</span> &gt; <span class="s2">&quot;$FILE&quot;</span>.sha1
+        <span class="nb">echo</span> <span class="s2">&quot;  - Generated &#39;$FILE.sha1&#39;&quot;</span>
+    <span class="k">else</span>
+<span class="k">        </span><span class="nb">echo</span> <span class="s2">&quot;  - Skipped &#39;$FILE.sha1&#39; (file already existing)&quot;</span>
+    <span class="k">fi</span>
+
+    <span class="c"># ASC</span>
+    <span class="k">if</span> <span class="o">[</span> ! -f <span class="s2">&quot;$FILE.asc&quot;</span> <span class="o">]</span>;
+    <span class="k">then</span>
+<span class="k">        </span><span class="nb">echo</span> <span class="s2">&quot;$PASSWORD&quot;</span> | gpg --default-key <span class="s2">&quot;$DEFAULT_KEY&quot;</span> --detach-sign --armor --no-tty --yes --passphrase-fd 0 <span class="s2">&quot;$FILE&quot;</span>
+        <span class="nb">echo</span> <span class="s2">&quot;  - Generated &#39;$FILE.asc&#39;&quot;</span>
+    <span class="k">else</span>
+<span class="k">        </span><span class="nb">echo</span> <span class="s2">&quot;  - Skipped &#39;$FILE.asc&#39; (file already existing)&quot;</span>
+    <span class="k">fi</span>
+<span class="k">done</span>
+</pre></div>
+</td></tr></table>
+
+<h3 id="step-8-publish-source-and-binary-distribution-packages">Step 8 : Publish Source and Binary Distribution Packages</h3>
+<p>First of all, create a new directory on people.apache.org/public_html to store the pacckages :</p>
+<div class="codehilite"><pre>$ <span class="n">ssh</span> <span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span>
+$ <span class="n">mkdir</span> <span class="n">public_html</span><span class="o">/</span><span class="n">mina</span><span class="o">-&lt;</span><span class="n">version</span><span class="o">&gt;</span>
+$ <span class="n">exit</span>
+</pre></div>
+
+
+<p>Then copy the packages :</p>
+<div class="codehilite"><pre>$ <span class="n">cd</span> <span class="n">distributions</span><span class="o">/</span><span class="n">target</span>
+$ <span class="n">scp</span> <span class="n">apache</span><span class="o">-</span><span class="n">mina</span><span class="o">-&lt;</span><span class="n">version</span><span class="o">&gt;-*</span> <span class="n">people</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">:</span><span class="n">public_html</span><span class="o">/</span><span class="n">mina</span><span class="o">/</span>
+</pre></div>
+
+
+<p>Update your index.html file on people.apach.org/public_html to make the packages visible. Here is an example of possible content :</p>
+<div class="codehilite"><pre><span class="nt">&lt;h2&gt;</span>Last MINA 2.0.9 tarballs<span class="nt">&lt;/h2&gt;</span>
+  <span class="nt">&lt;h3&gt;</span>Sources<span class="nt">&lt;/h3&gt;</span>
+
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.gz&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.gz<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.gz.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.gz.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.gz.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.bz2&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.bz2<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.bz2.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.bz2.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.tar.bz2.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.zip&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.zip<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.zip.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.zip.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-src.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-src.zip.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+
+  <span class="nt">&lt;h3&gt;</span>Binaries<span class="nt">&lt;/h3&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.gz&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.gz<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.gz.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.gz.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.gz.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.gz.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.bz2&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.bz2<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.bz2.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.bz2.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.tar.bz2.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.tar.bz2.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.zip&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.zip<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.zip.asc<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.zip.md5<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/icons/compressed.gif&quot;</span> <span class="na">alt=</span><span class="s">&quot;[   ]&quot;</span><span class="nt">&gt;&lt;a</span> <span class="na">href=</span><span class="s">&quot;mina/apache-mina-2.0.9-bin.zip.asc&quot;</span><span class="nt">&gt;</span>apache-mina-2.0.9-bin.zip.sha1<span class="nt">&lt;/a&gt;&lt;br/&gt;</span>
+</pre></div>
+
+
+<h3 id="step-9-test-the-new-version-with-ftpserver-sshd-and-vysper">Step 9 : Test the New Version with FtpServer, Sshd and Vysper</h3>
+<p>In <em>FtpServer/pom.xml</em> change the <org.apache.directory.shared.version> property, build FtpServer. It should build with no error. Do the same thing with Sshd and Vysper.</p>
 <p>It's time to launch a vote !</p>
-<h2 id="voting-a-release">Voting a release</h2>
+<h2 id="step-10-voting-a-release">Step 10 : Voting a release</h2>
 <p>Once the tarballs have been created, and the binaries available in Nexus, a vote can be launched. Simply send a mail on the dev@mina.apache.org mailing list describing the new release.</p>
-<h3 id="step-1-send-a-vote-mail-on-the-mailing-list">Step 1 : Send a [VOTE] mail on the mailing list</h3>
-<p>Here is a sample mail :</p>
+<p>Here is how you  send a [VOTE] mail on the dev mailing list :</p>
 <div class="codehilite"><pre><span class="n">Hi</span><span class="p">,</span>
 
 <span class="o">&lt;</span><span class="n">blah</span> <span class="n">blah</span> <span class="n">blah</span><span class="o">&gt;</span>
@@ -487,29 +690,27 @@ $ <span class="n">mvn</span> <span class
 
 
 <p>The vote will be open for 72 hours. Once the delay is over, collect the votes, and count the binding +1/-1. If the vote is positive, then we can release.</p>
-<h3 id="step-2-close-the-vote">Step 2 : Close the vote</h3>
+<h3 id="step-11-close-the-vote">Step 11 : Close the vote</h3>
 <p>You can officially close the vote now. There are some more steps to fulfill :</p>
 <ul>
 <li>Release the project on https://repository.apache.org</li>
 <li>Copy the tarballs and heir signature in people.apache.org /www/www.apache.org/dist/mina</li>
 </ul>
-<h3 id="step-3-deploy-web-reports-javadoc-and-jxr">Step 3: Deploy Web Reports (JavaDoc and JXR)</h3>
+<h3 id="step-12-deploy-web-reports-javadoc-and-jxr">Step 12: Deploy Web Reports (JavaDoc and JXR)</h3>
 <div class="codehilite"><pre>$ <span class="n">svn</span> <span class="n">co</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">svn</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">mina</span><span class="o">/</span><span class="n">mina</span><span class="o">/</span><span class="n">tags</span><span class="o">/&lt;</span><span class="n">version</span><span class="o">&gt;</span> <span class="n">mina</span>
 $ <span class="n">cd</span> <span class="n">mina</span>
 $ <span class="n">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">clean</span> <span class="n">compile</span> <span class="n">site</span> <span class="n">site</span><span class="p">:</span><span class="n">deploy</span>
 </pre></div>
 
 
-<h3 id="step-4-wait-24-hours">Step 4: Wait 24 hours</h3>
+<h3 id="step-13-wait-24-hours">Step 13: Wait 24 hours</h3>
 <p>We have to wait at least 24 hours for all mirrors to retrieve the uploaded files before making any announcement.  I'd recommend you to wait for 48 hours because some mirrors might lag due to various issues.</p>
-<h3 id="step-5-update-the-links-in-web-site">Step 5: Update the Links in Web Site</h3>
+<h3 id="step-14-update-the-links-in-web-site">Step 14: Update the Links in Web Site</h3>
 <p>Update the links to new distributions in [Downloads] page.</p>
-<h3 id="step-8-update-related-metadata-files">Step 8: Update related metadata file(s)</h3>
-<p>Update <a href="http://svn.apache.org/viewvc/mina/metadata/">any related metadata file(s)</a>.</p>
-<h3 id="step-9-wait-another-24-hours">Step 9: Wait another 24 hours</h3>
+<h3 id="step-15-wait-another-24-hours">Step 15: Wait another 24 hours</h3>
 <p>We need to wait until any changes made in the web site and metadata file(s) go live.</p>
-<h3 id="step-10-announce-the-new-release">Step 10: Announce the New Release</h3>
-<p>An announcement message can be sent to [mailto:announce@apache.org], [mailto:announce@apachenews.org], [mailto:users@mina.apache.org] and [mailto:dev@mina.apache.org].  Please note that announcement messages are rejected unless your from-address ends with <code>@apache.org</code>.  Plus, you shouldn't forget to <a href="http://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=MINA">post a news to the MINA CWiki space</a>, and run Confluence auto-export plugin manually.</p>
+<h3 id="step-16-announce-the-new-release">Step 16: Announce the New Release</h3>
+<p>An announcement message can be sent to [mailto:announce@apache.org], [mailto:announce@apachenews.org], [mailto:users@mina.apache.org] and [mailto:dev@mina.apache.org].  Please note that announcement messages are rejected unless your from-address ends with <code>@apache.org</code>.  Plus, you shouldn't forget to post a news to the MINA site main page.</p>
 <h2 id="creating-a-new-release-branch">Creating a New Release Branch</h2>
 <p>When you create a new branch, you have to make sure the sections that specifies branch version numbers are configured appropriately in the root <code>pom.xml</code>.</p>
 <div class="codehilite"><pre>...