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 2012/10/31 05:53:40 UTC

svn commit: r836681 [8/23] - in /websites/staging/mina/trunk/content: ./ asyncweb/ css/ ftpserver/ mina/ mina/userguide/ mina/userguide/ch1-getting-started/ mina/userguide/ch10-executor-filter/ mina/userguide/ch11-ssl-filter/ mina/userguide/ch12-loggin...

Added: websites/staging/mina/trunk/content/mina/developper-guide.html
==============================================================================
--- websites/staging/mina/trunk/content/mina/developper-guide.html (added)
+++ websites/staging/mina/trunk/content/mina/developper-guide.html Wed Oct 31 04:53:33 2012
@@ -0,0 +1,530 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html>
+<head>
+	<title>Developper Guide &mdash; Apache MINA</title>
+	
+		<link href="./../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../css/mina.css" rel="stylesheet" type="text/css">
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../mina/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../asyncweb/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../ftpserver/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../sshd/index.html">
+            
+              Sshd
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../vysper/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+            <div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../mina/downloads.html">Mina 2.0.7</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../mina/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../mina/features.html" class="external-link" rel="nofollow">Features</a/</li>
+      <li><a href="./../mina/road-map.html" class="external-link" rel="nofollow">Road Map</a/</li>
+      <li><a href="./../mina/faq.html" class="external-link" rel="nofollow">FAQ</a/</li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../mina/downloads.html" class="external-link" rel="nofollow">Downloads</a></li>
+      <li><a href="./../mina/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists & IRC</a></li>
+      <li><a href="./../mina/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../mina/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../mina/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../mina/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../mina/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../mina/developper-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../mina/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="http://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="http://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="http://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="http://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="http://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+
+<h1 id="building-mina">Building MINA</h1>
+<p><DIV class="note" markdown="1">
+    Please read <a href="http://www.apache.org/dev/" class="external-link" rel="nofollow">the Developer Infrastructure Information</a> if you haven't yet before you proceed.
+</div></p>
+<div class="toc">
+<ul>
+<li><a href="#building-mina">Building MINA</a></li>
+<li><a href="#checking-out-the-code">Checking out the code</a></li>
+<li><a href="#coding-convention">Coding Convention</a></li>
+<li><a href="#class-header">Class header</a></li>
+<li><a href="#working-with-multiple-branches-in-one-eclipse-workspace">Working with Multiple Branches in One Eclipse Workspace</a></li>
+<li><a href="#deploying-snapshots-commiters-only">Deploying Snapshots (Commiters Only)</a></li>
+<li><a href="#releasing-a-point-release-committers-only">Releasing a Point Release (Committers Only)</a><ul>
+<li><a href="#preparing-the-release-for-the-vote">Preparing the release for the vote</a><ul>
+<li><a href="#step-0-building-mina">Step 0: Building MINA</a></li>
+<li><a href="#step-1-tagging-and-deploying">Step 1: Tagging and Deploying</a></li>
+<li><a href="#step-2-processing-with-a-dry-run">step 2 : Processing with a dry run</a></li>
+<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>
+</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>
+</ul>
+</li>
+<li><a href="#creating-a-new-release-branch">Creating a New Release Branch</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<h1 id="checking-out-the-code">Checking out the code</h1>
+<p>You need <a href="http://subversion.tigris.org">Subversion</a> to check out the source code from our source code repository, and [Maven(http://maven.apache.org/) 2.2.1 to build the source code (Building with Maven 3.0 will also work).  The following example shows how to build <a href="http://svn.apache.org/viewvc/mina/tags/2.0.4/">the current stable branch (2.0.7)</a>.</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">tags</span><span class="sr">/2.0.7/</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">clean</span> <span class="n">install</span>             <span class="c1"># Build packages (JARs) for the core API and other </span>
+                                         <span class="c1"># extensions and install them to the local Maven repository.</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">site</span>                      <span class="c1"># Generate reports (JavaDoc and JXR)</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="nb">package</span> <span class="n">assembly:assembly</span> <span class="c1"># Generate a tarball (package goal needed to fix an assembly plugin bug)</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">eclipse:eclipse</span>           <span class="c1"># Generate Eclipse project files if you want</span>
+</pre></div>
+
+
+<p>Eclipse users:
+Don't forget to declare a classpath variable named M2_REPO, pointing to <code>~/.m2/repository</code>, otherwise many links to existing jars will be broken.
+You can declare new variables in Eclipse in Windows -&gt; Preferences... and selecting Java -&gt; Build Path -&gt; Classpath Variables</p>
+<p>There are also other branches that might interest you:</p>
+<ul>
+<li>trunk: <a href="http://svn.apache.org/viewvc/mina/mina/trunk/">Where big changes take place everyday</a> - <code>http://svn.apache.org/repos/asf/mina/minatrunk/</code></li>
+</ul>
+<p>If you want to check out the source code of previous releases, you could try:</p>
+<ul>
+<li><code>http://svn.apache.org/repos/asf/mina/mina/tags/</code></li>
+</ul>
+<h1 id="coding-convention">Coding Convention</h1>
+<p>We follow <a href="http://java.sun.com/docs/codeconv/">Sun's standard Java coding convention</a> except that we always use spaces instead of tabs. Please download <a href="ImprovedJavaConventions.xml">the Eclipse Java formatter settings file</a> before you make any changes to the code.</p>
+<p>This file is also available in the <code>/resources</code> directory.</p>
+<h1 id="class-header">Class header</h1>
+<p>As class header we use :</p>
+<div class="codehilite"><pre>/** 
+ * Class desciption here.
+ *
+ * @author <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;http://mina.apache.org&quot;</span><span class="nt">&gt;</span>Apache MINA Project<span class="nt">&lt;/a&gt;</span>
+ */
+</pre></div>
+
+
+<p>The headers revisions tags are removed.</p>
+<h1 id="working-with-multiple-branches-in-one-eclipse-workspace">Working with Multiple Branches in One Eclipse Workspace</h1>
+<p>Just running <code>mvn -Pserial eclipse:eclipse</code> won't allow you to import MINA projects from more than one branches into one Eclipse workspace.  You have to rename all project names in the generated <code>.project</code> and <code>.classpath</code> files to do that.  Maven Eclipse plugin should provide an option that appends the version number to the project name, but <a href="http://jira.codehaus.org/browse/MECLIPSE-189">this issue</a> is not being resolved yet.  Until this issue is resolved, please put the attached shell script files ((mvnroot) and (mvn-eclipse)) to your local path (e.g. <code>/usr/local/bin</code>) and run <code>mvn-eclipse</code>.</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/mi</span><span class="n">na</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="n">mina</span><span class="o">/</span><span class="mf">2.0.7</span>
+<span class="nv">$</span> <span class="nv">mvn</span><span class="o">-</span><span class="n">eclipse</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="o">../</span><span class="mf">2.0.5</span>
+<span class="nv">$</span> <span class="nv">mvn</span><span class="o">-</span><span class="n">eclipse</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="o">../</span><span class="n">trunk</span>
+<span class="nv">$</span> <span class="nv">mvn</span><span class="o">-</span><span class="n">eclipse</span>
+</pre></div>
+
+
+<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>
+<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="nb">umask</span> <span class="mo">002</span>
+</pre></div>
+
+
+<p>Please note that you have to edit the correct <code>shrc</code> file.  If you use <code>csh</code>, then you will have to edit <code>~/.cshrc</code> file.</p>
+<p>Now you are ready to deploy the artifacts if you configured your umask correctly.</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">tags</span><span class="o">/</span><span class="mf">2.0.7</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">Pserial</span> <span class="n">clean</span> <span class="n">deploy</span> <span class="n">site</span> <span class="n">site:deploy</span>    <span class="c1"># Make sure to run &#39;clean&#39; goal first to prevent side effects from your IDE.</span>
+</pre></div>
+
+
+<p>Please double-check the mode (i.e. <code>0664</code> or <code>-rw-rw-r--</code>, a.k.a permission code) of the deployed artifacts, otherwise you can waste other people's time significantly.</p>
+<h1 id="releasing-a-point-release-committers-only">Releasing a Point Release (Committers Only)</h1>
+<h2 id="preparing-the-release-for-the-vote">Preparing the release for the vote</h2>
+<p>Before starting be sure to have the java and mvn command in your PATH.
+On linux you can check with the following commands :</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">type</span> <span class="n">mvn</span>
+<span class="n">mvn</span> <span class="n">is</span> <span class="n">hashed</span> <span class="p">(</span><span class="sr">/opt/m</span><span class="n">aven</span><span class="o">-</span><span class="mf">2.2.1</span><span class="sr">/bin/m</span><span class="n">vn</span><span class="p">)</span>
+<span class="nv">$</span> <span class="nv">type</span> <span class="n">java</span>
+<span class="n">java</span> <span class="n">is</span> <span class="n">hashed</span> <span class="p">(</span><span class="sr">/usr/</span><span class="n">bin</span><span class="o">/</span><span class="n">java</span><span class="p">)</span>
+</pre></div>
+
+
+<h3 id="step-0-building-mina">Step 0: Building MINA</h3>
+<p>As weird as it sounds, for some unknown reason (most certainly a misconfiguration in the Maven poms), we can't just run the release without having previously build all the projects. This is done with the following command :</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Pserial</span>
+</pre></div>
+
+
+<h3 id="step-1-tagging-and-deploying">Step 1: Tagging and Deploying</h3>
+<p>First you need to configure maven for using the good username for scp and operation.</p>
+<p>In the <code>~/.m2/settings.xml</code> you need the following lines :</p>
+<div class="codehilite"><pre><span class="nt">&lt;settings</span> <span class="na">xmlns=</span><span class="s">&quot;http://maven.apache.org/POM/4.0.0&quot;</span>
+  <span class="na">xmlns:xsi=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
+  <span class="na">xsi:schemaLocation=</span><span class="s">&quot;http://maven.apache.org/POM/4.0.0</span>
+<span class="s">                      http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;</span><span class="nt">&gt;</span>
+
+  <span class="c">&lt;!-- SERVER SETTINGS --&gt;</span>
+  <span class="nt">&lt;servers&gt;</span>
+    <span class="c">&lt;!-- To publish a snapshot of some part of Maven --&gt;</span>
+    <span class="nt">&lt;server&gt;</span>
+      <span class="nt">&lt;id&gt;</span>apache.snapshots.https<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;username&gt;</span>elecharny<span class="nt">&lt;/username&gt;</span>
+      <span class="nt">&lt;password&gt;</span>-----Your password here-----<span class="nt">&lt;/password&gt;</span>
+    <span class="nt">&lt;/server&gt;</span>
+    <span class="c">&lt;!-- To publish a website of some part of Maven --&gt;</span>
+    <span class="nt">&lt;server&gt;</span>
+      <span class="nt">&lt;id&gt;</span>apache.websites<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;username&gt;</span>elecharny<span class="nt">&lt;/username&gt;</span>
+      <span class="nt">&lt;filePermissions&gt;</span>664<span class="nt">&lt;/filePermissions&gt;</span>
+      <span class="nt">&lt;directoryPermissions&gt;</span>775<span class="nt">&lt;/directoryPermissions&gt;</span>
+    <span class="nt">&lt;/server&gt;</span>
+    <span class="c">&lt;!-- To stage a release of some part of Maven --&gt;</span>
+    <span class="nt">&lt;server&gt;</span>
+      <span class="nt">&lt;id&gt;</span>apache.releases.https<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;username&gt;</span>elecharny<span class="nt">&lt;/username&gt;</span>
+      <span class="nt">&lt;password&gt;</span>-----Your password here-----<span class="nt">&lt;/password&gt;</span>
+    <span class="nt">&lt;/server&gt;</span>
+    <span class="c">&lt;!-- To stage a website of some part of Maven --&gt;</span>
+    <span class="nt">&lt;server&gt;</span>
+      <span class="nt">&lt;id&gt;</span>stagingSite<span class="nt">&lt;/id&gt;</span> <span class="c">&lt;!-- must match hard-coded repository identifier in site:stage-deploy --&gt;</span>
+      <span class="nt">&lt;username&gt;</span>elecharny<span class="nt">&lt;/username&gt;</span>
+      <span class="nt">&lt;filePermissions&gt;</span>664<span class="nt">&lt;/filePermissions&gt;</span>
+      <span class="nt">&lt;directoryPermissions&gt;</span>775<span class="nt">&lt;/directoryPermissions&gt;</span>
+    <span class="nt">&lt;/server&gt;</span>
+  <span class="nt">&lt;/servers&gt;</span>
+
+  <span class="c">&lt;!-- PROFILE SETTINGS --&gt;</span>
+  <span class="nt">&lt;profiles&gt;</span>
+    <span class="nt">&lt;profile&gt;</span>
+      <span class="nt">&lt;id&gt;</span>apache-release<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;properties&gt;</span>
+        <span class="c">&lt;!-- Configuration for artifacts signature --&gt;</span>
+        <span class="nt">&lt;gpg.passphrase&gt;</span>-----Your passphrase here-----<span class="nt">&lt;/gpg.passphrase&gt;</span>
+      <span class="nt">&lt;/properties&gt;</span>
+    <span class="nt">&lt;/profile&gt;</span>
+  <span class="nt">&lt;/profiles&gt;</span>
+
+<span class="nt">&lt;/settings&gt;</span>
+</pre></div>
+
+
+<h3 id="step-2-processing-with-a-dry-run">step 2 : Processing with a dry run</h3>
+<p>After having checked out the trunk, and built it (see step 0), </p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">trunk</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Pserial</span>
+</pre></div>
+
+
+<p>run the following commands :</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">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="o">-</span><span class="n">DdryRun</span><span class="o">=</span><span class="n">true</span> <span class="n">release:prepare</span>    <span class="c1"># Dry-run first.</span>
+</pre></div>
+
+
+<p>Answer to maven questions :</p>
+<div class="codehilite"><pre><span class="s">&quot;What is the release version for &quot;</span><span class="n">Apache</span> <span class="n">MINA</span><span class="s">&quot;? (org.apache.mina:mina-parent) 2.0.7-&lt;version&gt;: :&quot;</span> 
+<span class="o">&lt;</span><span class="n">either</span> <span class="k">use</span> <span class="n">the</span> <span class="n">default</span> <span class="n">version</span> <span class="n">as</span> <span class="n">suggested</span><span class="p">,</span> <span class="ow">or</span> <span class="n">type</span> <span class="n">in</span> <span class="n">the</span> <span class="n">version</span> <span class="n">you</span><span class="nv">@qot</span><span class="p">;</span><span class="n">d</span> <span class="n">like</span> <span class="n">to</span> <span class="n">be</span> <span class="n">used</span><span class="o">&gt;</span>
+<span class="p">[</span><span class="o">..</span><span class="p">]</span>
+</pre></div>
+
+
+<p><DIV class="info" markdown="1">
+Just after the last module, maven will ask you about the SCM tag :</p>
+<div class="codehilite"><pre><span class="n">What</span> <span class="n">is</span> <span class="n">SCM</span> <span class="n">release</span> <span class="n">tag</span> <span class="ow">or</span> <span class="n">label</span> <span class="k">for</span> <span class="s">&quot;Apache MINA&quot;</span><span class="p">?</span> <span class="p">(</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">mina:mina</span><span class="o">-</span><span class="n">parent</span><span class="p">)</span> <span class="n">mina</span><span class="o">-</span><span class="n">parent</span><span class="o">-</span><span class="mf">2.0.7</span><span class="p">:</span> <span class="p">:</span> <span class="mf">2.0.7</span>
+</pre></div>
+
+
+<p>Do <strong>not</strong> type <enter> to select the default value. Instead, type the correct version.
+</DIV></p>
+<p>Then some other questions will be asked, about the next version to use. The default values should be fine.</p>
+<p><DIV class="info" markdown="1">
+<strong>Be Careful</strong></p>
+<p>Make sure the change made by the release plugin is correct! (pom.xml, tags created)
+</DIV></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="nv">$</span> <span class="nv">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:clean</span>      <span class="c1"># Clean up the temporary files created by the dry-run.</span>
+<span class="nv">$</span> <span class="nv">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:prepare</span>    <span class="c1"># Copy to tags directory.</span>
+</pre></div>
+
+
+<p>The first step will clean up the local sources, the second step will release for real. The same questions will be asked as those we had during the dry run step.</p>
+<p>At some point, it will ask for your passphrase (the one you used when you created your PGP key). Type it in.</p>
+<p>At the end, if you proceed the release on a Mac, you may get the following message :</p>
+<div class="codehilite"><pre><span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Tagging</span> <span class="n">release</span> <span class="n">with</span> <span class="n">the</span> <span class="n">label</span> <span class="mf">2.0.7</span><span class="o">...</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Executing:</span> <span class="sr">/bin/s</span><span class="n">h</span> <span class="o">-</span><span class="n">c</span> <span class="n">cd</span> <span class="sr">/Users/</span><span class="n">elecharny</span><span class="sr">/mina/</span><span class="n">trunk</span> <span class="o">&amp;&amp;</span> <span class="n">svn</span> <span class="o">--</span><span class="n">non</span><span class="o">-</span><span class="n">interactive</span> 
+        <span class="n">copy</span> <span class="o">--</span><span class="n">file</span> <span class="sr">/var/</span><span class="n">folders</span><span class="sr">/t7/</span><span class="n">t7UwkHaiGleYYgPqGZTbF</span><span class="o">++++</span><span class="n">TM</span><span class="sr">/-Tmp-/m</span><span class="n">aven</span><span class="o">-</span><span class="n">scm</span><span class="o">-</span><span class="mi">409730412</span><span class="o">.</span><span class="n">commit</span> 
+        <span class="o">--</span><span class="n">revision</span> <span class="n">XXXXX</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">trunk</span> 
+        <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">tags</span><span class="o">/</span><span class="mf">2.0.7</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Working</span> <span class="n">directory:</span> <span class="sr">/Users/</span><span class="n">elecharny</span><span class="sr">/mina/</span><span class="n">trunk</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">ERROR</span><span class="p">]</span> <span class="n">BUILD</span> <span class="n">FAILURE</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">tag</span> <span class="n">SCM</span>
+<span class="n">Provider</span> <span class="n">message:</span>
+<span class="n">The</span> <span class="n">svn</span> <span class="n">tag</span> <span class="n">command</span> <span class="n">failed</span><span class="o">.</span>
+<span class="n">Command</span> <span class="n">output:</span>
+<span class="n">svn:</span> <span class="n">No</span> <span class="n">such</span> <span class="n">revision</span> <span class="n">XXXXX</span>
+</pre></div>
+
+
+<p>If so, just type the two following commands :</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">up</span> <span class="o">-</span><span class="n">r</span> <span class="n">HEAD</span>
+<span class="n">At</span> <span class="n">revision</span> <span class="n">YYYYYY</span><span class="o">.</span>
+<span class="nv">$</span> <span class="nv">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:prepare</span> <span class="o">-</span><span class="n">Dresume</span>
+<span class="o">...</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Release</span> <span class="n">preparation</span> <span class="n">complete</span><span class="o">.</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">BUILD</span> <span class="n">SUCCESSFUL</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Total</span> <span class="nb">time</span><span class="p">:</span> <span class="mi">1</span> <span class="n">minute</span> <span class="mi">4</span> <span class="n">seconds</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Finished</span> <span class="n">at:</span> <span class="n">Mon</span> <span class="n">Sep</span> <span class="mi">13</span> <span class="mi">16</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mo">02</span> <span class="n">CEST</span> <span class="mi">2010</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Final</span> <span class="n">Memory:</span> <span class="mi">28</span><span class="n">M</span><span class="o">/</span><span class="mi">81</span><span class="n">M</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+</pre></div>
+
+
+<p>Three mails will be generated, and sent to commits@mina.apache.org :</p>
+<div class="codehilite"><pre><span class="n">svn</span> <span class="n">commit:</span> <span class="n">r996535</span> <span class="o">-</span> <span class="n">in</span> <span class="sr">/mina/</span><span class="n">trunk:</span> <span class="o">.</span><span class="sr">/ distribution/</span> <span class="n">mina</span><span class="o">-</span><span class="n">core</span><span class="sr">/ mina-example/</span> <span class="n">mina</span><span class="o">-</span><span class="n">filter</span><span class="o">...</span>
+<span class="n">svn</span> <span class="n">commit:</span> <span class="n">r996542</span> <span class="o">-</span> <span class="sr">/mina/</span><span class="n">tags</span><span class="sr">/2.0.7/</span>
+<span class="n">svn</span> <span class="n">commit:</span> <span class="n">r996544</span> <span class="o">-</span> <span class="n">in</span> <span class="sr">/mina/</span><span class="n">trunk:</span> <span class="o">.</span><span class="sr">/ distribution/</span> <span class="n">mina</span><span class="o">-</span><span class="n">core</span><span class="sr">/ mina-example/</span> <span class="n">mina</span><span class="o">-</span><span class="n">filter</span><span class="o">...</span>
+</pre></div>
+
+
+<p>The first mail tells you that the SNAPSHOT has been moved to the release version in trunk, the second mails tells you that this version has been tagged, and the last mail tells you that trunk has moved to the next version.</p>
+<h3 id="step-4-perform-the-release">Step 4 : perform the release</h3>
+<p>The last step before launching a vote is to push the potential release to Nexus so that every user can test the created packages. Perform the following actions</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">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:perform</span>
+<span class="o">...</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Reactor</span> <span class="n">Summary:</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="o">...........................................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mo">05</span><span class="mf">.896</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Legal</span> <span class="o">.....................................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">30.708</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Core</span> <span class="o">......................................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mf">44.973</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">APR</span> <span class="n">Transport</span> <span class="o">.............................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">46.082</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Compression</span> <span class="n">Filter</span> <span class="o">........................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">40.230</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">State</span> <span class="n">Machine</span> <span class="o">.............................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">52.718</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">JavaBeans</span> <span class="n">Integration</span> <span class="o">.....................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">46.358</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">XBean</span> <span class="n">Integration</span> <span class="o">.........................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mf">21.054</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">OGNL</span> <span class="n">Integration</span> <span class="o">..........................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">40.740</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">JMX</span> <span class="n">Integration</span> <span class="o">...........................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">40.482</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Examples</span> <span class="o">..................................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mf">13.837</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Serial</span> <span class="n">Communication</span> <span class="n">support</span> <span class="o">..............</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mf">41.684</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Apache</span> <span class="n">MINA</span> <span class="n">Distribution</span> <span class="o">..............................</span> <span class="n">SUCCESS</span> <span class="p">[</span><span class="mi">12</span><span class="p">:</span><span class="mf">39.542</span><span class="n">s</span><span class="p">]</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">BUILD</span> <span class="n">SUCCESSFUL</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Total</span> <span class="nb">time</span><span class="p">:</span> <span class="mi">26</span> <span class="n">minutes</span> <span class="mi">46</span> <span class="n">seconds</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Finished</span> <span class="n">at:</span> <span class="n">Mon</span> <span class="n">Sep</span> <span class="mi">13</span> <span class="mi">16</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">14</span> <span class="n">CEST</span> <span class="mi">2010</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Final</span> <span class="n">Memory:</span> <span class="mi">98</span><span class="n">M</span><span class="o">/</span><span class="mi">299</span><span class="n">M</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Cleaning</span> <span class="n">up</span> <span class="n">after</span> <span class="n">release</span><span class="o">...</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">BUILD</span> <span class="n">SUCCESSFUL</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Total</span> <span class="nb">time</span><span class="p">:</span> <span class="mi">27</span> <span class="n">minutes</span> <span class="mi">5</span> <span class="n">seconds</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Finished</span> <span class="n">at:</span> <span class="n">Mon</span> <span class="n">Sep</span> <span class="mi">13</span> <span class="mi">16</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">18</span> <span class="n">CEST</span> <span class="mi">2010</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Final</span> <span class="n">Memory:</span> <span class="mi">28</span><span class="n">M</span><span class="o">/</span><span class="mi">81</span><span class="n">M</span>
+<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
+</pre></div>
+
+
+<p>Done !</p>
+<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>
+<p>It's time to launch a vote !</p>
+<h2 id="voting-a-release">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>
+<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>
+
+<span class="n">Here</span> <span class="n">is</span> <span class="n">the</span> <span class="n">list</span> <span class="n">of</span> <span class="n">fixed</span> <span class="n">issues</span> <span class="p">:</span>
+
+   <span class="o">*</span> <span class="p">[</span><span class="n">DIRMINA</span><span class="o">-</span><span class="mi">803</span> <span class="sr">&lt;https://issues.apache.org/jira/browse/DIRMINA-803&gt;</span><span class="p">]</span>
+     <span class="o">-</span> <span class="n">ProtocolCodecFilter</span><span class="o">.</span><span class="n">filterWrite</span><span class="p">()</span> <span class="n">is</span> <span class="nb">no</span> <span class="n">longer</span> <span class="n">thread</span><span class="o">-</span><span class="n">safe</span>
+   <span class="o">*</span> <span class="o">...</span>
+
+<span class="n">Here</span><span class="s">&#39;s the Jira link for this version if you&#39;</span><span class="n">d</span> <span class="n">like</span> <span class="n">to</span> <span class="n">review</span> <span class="n">issues</span> <span class="n">in</span> <span class="n">more</span> <span class="n">details:</span>
+
+<span class="n">https:</span><span class="sr">//iss</span><span class="n">ues</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/jira/s</span><span class="n">ecure</span><span class="o">/</span><span class="n">ReleaseNote</span><span class="o">.</span><span class="n">jspa</span><span class="p">?</span><span class="n">projectId</span><span class="o">=</span><span class="mi">10670</span><span class="o">&amp;</span><span class="n">styleName</span><span class="o">=</span><span class="n">Html</span><span class="o">&amp;</span><span class="n">version</span><span class="o">=</span><span class="mi">12313702</span>
+
+<span class="n">A</span> <span class="n">temporary</span> <span class="n">tag</span> <span class="n">has</span> <span class="n">been</span> <span class="n">created</span> <span class="p">(</span><span class="n">it</span> <span class="n">can</span> <span class="n">be</span> <span class="n">removed</span> <span class="k">if</span> <span class="n">the</span> <span class="n">vote</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">approved</span><span class="p">):</span>
+<span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/viewvc/mi</span><span class="n">na</span><span class="sr">/tags/</span><span class="mf">2.0.1</span><span class="o">/</span>
+<span class="n">The</span> <span class="n">svn</span> <span class="n">revision</span> <span class="n">is</span> <span class="p">:</span><span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">viewvc</span><span class="p">?</span><span class="n">rev</span><span class="o">=</span><span class="mi">1026395</span>
+
+<span class="n">The</span> <span class="n">newly</span> <span class="n">approved</span> <span class="n">Nexus</span> <span class="n">has</span> <span class="n">been</span> <span class="n">used</span> <span class="k">for</span> <span class="n">the</span> <span class="n">preparation</span> <span class="n">of</span> <span class="n">this</span> <span class="n">release</span> <span class="ow">and</span> <span class="n">all</span> <span class="n">final</span> <span class="n">artifacts</span> <span class="n">are</span> <span class="n">stored</span> 
+<span class="n">in</span> <span class="n">a</span> <span class="n">staging</span> <span class="n">repository:</span>
+<span class="n">https:</span><span class="sr">//</span><span class="n">repository</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/content/</span><span class="n">repositories</span><span class="sr">/orgapachemina-002/</span>
+
+<span class="n">The</span> <span class="n">distributions</span> <span class="n">are</span> <span class="n">available</span> <span class="k">for</span> <span class="n">download</span> <span class="n">on</span> <span class="p">:</span>
+<span class="n">https:</span><span class="sr">//</span><span class="n">repository</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/content/</span><span class="n">repositories</span><span class="sr">/orgapachemina-004/o</span><span class="n">rg</span><span class="sr">/apache/mi</span><span class="n">na</span><span class="sr">/mina-parent/</span><span class="mf">2.0.1</span><span class="o">/</span>
+
+<span class="n">Let</span><span class="err">&#39;</span><span class="n">s</span> <span class="n">vote</span> <span class="p">:</span>
+<span class="p">[</span> <span class="p">]</span> <span class="o">+</span><span class="mi">1</span> <span class="o">|</span> <span class="n">Release</span> <span class="n">MINA</span> <span class="mf">2.0.1</span>
+<span class="p">[</span> <span class="p">]</span> <span class="err">±</span><span class="mi">0</span> <span class="o">|</span> <span class="n">Abstain</span>
+<span class="p">[</span> <span class="p">]</span> <span class="o">-</span><span class="mi">1</span> <span class="o">|</span> <span class="n">Do</span> <span class="o">*</span><span class="n">NOT</span><span class="o">*</span>  <span class="n">release</span> <span class="n">MINA</span> <span class="mf">2.0.1</span>
+
+<span class="n">Thanks</span> <span class="o">!</span>
+</pre></div>
+
+
+<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>
+<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>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">co</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/mina/</span><span class="n">tags</span><span class="o">/</span><span class="sr">&lt;version&gt;</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">cd</span> <span class="n">mina</span>
+<span class="nv">$</span> <span class="nv">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:deploy</span>
+</pre></div>
+
+
+<h3 id="step-4-wait-24-hours">Step 4: 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>
+<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>
+<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>
+<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>...
+<span class="nt">&lt;version&gt;</span>1.1.0-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
+...
+<span class="nt">&lt;scm&gt;</span>
+  <span class="nt">&lt;connection&gt;</span>scm:svn:http://svn.apache.org/repos/asf/mina/branches/1.1<span class="nt">&lt;/connection&gt;</span>
+  <span class="nt">&lt;url&gt;</span>http://svn.apache.org/viewvc/directory/mina/branches/1.1<span class="nt">&lt;/url&gt;</span>
+  <span class="nt">&lt;developerConnection&gt;</span>scm:svn:https://svn.apache.org/repos/asf/mina/branches/1.1<span class="nt">&lt;/developerConnection&gt;</span>
+<span class="nt">&lt;/scm&gt;</span>
+...
+<span class="nt">&lt;distributionManagement&gt;</span>
+  <span class="nt">&lt;site&gt;</span>
+    <span class="nt">&lt;id&gt;</span>apache.websites<span class="nt">&lt;/id&gt;</span>
+    <span class="nt">&lt;url&gt;</span>scp://people.apache.org/www/mina.apache.org/report/1.1/<span class="nt">&lt;/url&gt;</span>
+  <span class="nt">&lt;/site&gt;</span>
+<span class="nt">&lt;/distributionManagement&gt;</span>
+...
+</pre></div>
+
+
+<p>Please note that the example above is for <code>branches/1.1</code>.  For example, you have to replace <code>branches/1.1</code> with <code>branches/3.0</code> if the version number of the new branch is 3.0.  In case of <code>trunk</code>, it's just <code>trunk</code> rather than <code>branches/&lt;version&gt;</code>.</p>
+
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2012, <a href="http://www.apache.org">The Apache Software Foundation</a> - <a href="privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+    </body>
+</html>
+

Added: websites/staging/mina/trunk/content/mina/downloads.html
==============================================================================
--- websites/staging/mina/trunk/content/mina/downloads.html (added)
+++ websites/staging/mina/trunk/content/mina/downloads.html Wed Oct 31 04:53:33 2012
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html>
+<head>
+	<title>MINA Downloads &mdash; Apache MINA</title>
+	
+		<link href="./../css/common.css" rel="stylesheet" type="text/css">
+		<link href="./../css/mina.css" rel="stylesheet" type="text/css">
+	
+</head>
+  <body>
+    <div id="container">
+      <div id="header">
+        <div id="subProjectsNavBar">
+          <a href="./../">
+            
+              Apache MINA Project
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../mina/index.html">
+            
+              <strong>MINA</strong>
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../asyncweb/index.html">
+            
+              AsyncWeb
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../ftpserver/index.html">
+            
+              FtpServer
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../sshd/index.html">
+            
+              Sshd
+            
+          </a>
+          &nbsp;|&nbsp;
+          <a href="./../vysper/index.html">
+            
+              Vysper
+            
+          </a>
+        </div><!-- subProjectsNavBar -->
+      </div><!-- header -->
+      <div id="content">
+        <div id="leftColumn">
+                              
+          
+          
+          
+            <div id="navigation">
+
+    <h5>Latest Downloads</h5>
+    <ul>
+        <li><a href="./../mina/downloads.html">Mina 2.0.7</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+      <li><a href="./../mina/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+      <li><a href="./../mina/features.html" class="external-link" rel="nofollow">Features</a/</li>
+      <li><a href="./../mina/road-map.html" class="external-link" rel="nofollow">Road Map</a/</li>
+      <li><a href="./../mina/faq.html" class="external-link" rel="nofollow">FAQ</a/</li>
+    </ul>
+    <h5>Resources</h5>
+    <ul>
+      <li><a href="./../mina/downloads.html" class="external-link" rel="nofollow">Downloads</a></li>
+      <li><a href="./../mina/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists & IRC</a></li>
+      <li><a href="./../mina/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+      <li><a href="./../mina/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+      <li><a href="./../mina/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+      <li><a href="./../mina/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+      <li><a href="./../mina/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+      <li><a href="./../mina/developper-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+      <li><a href="./../mina/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+      <li><a href="http://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+    </ul>
+
+    <h5>Community</h5>
+    <ul>
+      <li><a href="http://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+      <li><a href="./../contributors.html" class="external-link" rel="nofollow">Team</a></li>
+      <li><a href="./../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+      <li><a href="http://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+    </ul>
+
+    <h5>About Apache</h5>
+    <ul>
+      <li><a href="http://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+      <li><a href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+      <li><a href="http://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+      <li><a href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+    </ul>
+
+    <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+    <ul>
+      <li>No event</li>
+    </ul>
+
+</div>
+
+<!-- navigation -->
+          
+          
+        </div><!-- leftColumn -->
+      <div id="rightColumn">
+
+
+
+
+<h1 id="latest-mina-releases">Latest MINA Releases</h1>
+<p><DIV class="note" markdown="1">
+    <B>Be Careful</B><BR>
+    The links will redirect you to a list of the nearest mirrors, if a mirror hasn't got the latest version yet due to propagation delay you can try another one.
+</DIV></p>
+<h2 id="apache-mina-207-wzxhzdk9stablewzxhzdk10-java-5">Apache MINA 2.0.7 <FONT color="green">stable</FONT> (Java 5+)</h2>
+<h3 id="binaries">Binaries</h3>
+<ul>
+<li>.tar.gz archive <a href="http://mina.apache.org/dyn/closer.cgi/mina/2.0.7/apache-mina-2.0.7-bin.tar.gz">mina-2.0.7</a> (signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.gz.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.gz.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.gz.asc">ASC</a>)</li>
+<li>.tar.bz2 archive <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.bz2.md5">mina-2.0.7</a> (signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.bz2.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.bz2.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.tar.bz2.asc">ASC</a>)</li>
+<li>.zip archive <a href="http://mina.apache.org/dyn/closer.cgi/mina/2.0.7/apache-mina-2.0.7-bin.zip">mina-2.0.7</a> (signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.zip.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.zip.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-bin.zip.asc">ASC</a>)</li>
+</ul>
+<h3 id="sources">Sources</h3>
+<ul>
+<li>.src.tar.gz archive <a href="http://mina.apache.org/dyn/closer.cgi/mina/2.0.7/apache-mina-2.0.7-src.tar.gz">mina-2.0.7</a>(signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.gz.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.gz.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.gz.asc">ASC</a></li>
+<li>.src.tar.bz2 archive <a href="http://mina.apache.org/dyn/closer.cgi/mina/2.0.7/apache-mina-2.0.7-src.tar.bz2">mina-2.0.7</a> (signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.bz2.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.bz2.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.tar.bz2.asc">ASC</a></li>
+<li>.src.zip archive <a href="http://mina.apache.org/dyn/closer.cgi/mina/2.0.7/apache-mina-2.0.7-src.zip">mina-2.0.7</a> (signatures : <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.zip.md5">MD5</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.zip.sha1">SHA1</a> <a href="http://www.apache.org/dist/mina/2.0.7/apache-mina-2.0.7-src.zip.asc">ASC</a></li>
+</ul>
+<p><DIV class="note" markdown="1">
+    For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :</p>
+<div class="codehilite"><pre>    <span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.rxtx<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>rxtx<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>2.1.7<span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>provided<span class="nt">&lt;scope&gt;</span>
+    <span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<p></DIV></p>
+<p><P><FONT color="green"><B>Older versions can be found <A href="http://archive.apache.org/dist/mina/" class="external-link" rel="nofollow">here</A></B></FONT></P></p>
+<h1 id="verify-the-integrity-of-the-files">Verify the integrity of the files</h1>
+<p>The PGP signatures can be verified using PGP or GPG. First download the <a href="https://svn.apache.org/repos/asf/mina/KEYS">KEYS</a> as well as the asc signature file for the relevant distribution. Then verify the signatures using:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgpk</span> <span class="o">-</span><span class="n">a</span> <span class="n">KEYS</span>
+<span class="nv">$</span> <span class="nv">pgpv</span> <span class="n">mina</span><span class="o">-</span><span class="mf">1.2.3</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+</pre></div>
+
+
+<p>or</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">pgp</span> <span class="o">-</span><span class="n">ka</span> <span class="n">KEYS</span>
+<span class="nv">$</span> <span class="nv">pgp</span> <span class="n">mina</span><span class="o">-</span><span class="mf">1.2.3</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+</pre></div>
+
+
+<p>or</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="nb">import</span> <span class="n">KEYS</span>
+<span class="nv">$</span> <span class="nv">gpg</span> <span class="o">--</span><span class="n">verify</span> <span class="n">mina</span><span class="o">-</span><span class="mf">1.2.3</span><span class="o">.</span><span class="n">tar</span><span class="o">.</span><span class="n">gz</span><span class="o">.</span><span class="n">asc</span>
+</pre></div>
+
+
+<h1 id="latest-pre-release-snapshots">Latest Pre-release Snapshots</h1>
+<p>The snapshot JAR files can be found at the <a href="http://people.apache.org/repo/m2-snapshot-repository/org/apache/mina/">ASF Maven 2 snapshot repository</a>. Please note that we don't provide the full distribution (e.g. tarball) of the latest pre-release snapshots. Please check out the source code from our <a href="developer_guide.html">subversion repository</a> to build the full distribution by yourself.</p>
+<h1 id="previous-releases">Previous Releases</h1>
+<p>The previous releases can be found <a href="http://archive.apache.org/dist/mina/">here</a>. Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.</p>
+<h1 id="version-numbering-scheme">Version Numbering Scheme</h1>
+<p>The version number of MINA has the following form:</p>
+<p><DIV class="info" markdown="1">
+    &lt;major&gt;.&lt;minor&gt;.&lt;micro&gt; [-M&lt;milestone number&gt; or -RC&lt;release candidate number&gt;]
+</DIV></p>
+<p>This scheme has three number components:</p>
+<ul>
+<li>The <strong>major</strong> number increases when there are incompatible changes in the API.</li>
+<li>The <strong>minor</strong> number increases when a new feature is introduced.</li>
+<li>The <strong>micro</strong> number increases when a bug or a trivial change is made.</li>
+</ul>
+<p>and an optional label that indicates the maturity of a release:</p>
+<ul>
+<li><strong>M</strong> (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.</li>
+<li><strong>RC</strong> (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.</li>
+<li>No label implies <strong>GA</strong> (General Availability), which means the release is stable enough and therefore ready for production environment.</li>
+</ul>
+<p>MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,</p>
+<p>Here's an example that illustrates how MINA version number increases:</p>
+<p><DIV class="info" markdown="1">
+    2.0.0-M1 -&gt; 2.0.0-M3 -&gt; 2.0.0-M3 -&gt; 2.0.0-M4 -&gt;  2.0.0-RC1 -&gt; 2.0.0-RC2 -&gt; 2.0.0-RC3 -&gt; <B>2.0.0</B> -&gt; 2.0.1 -&gt; 2.0.2 -&gt; 2.1.0-M1 ...
+</DIV></p>
+<p>Please note that we always specify the micro number, even if it's zero.</p>
+
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2012, <a href="http://www.apache.org">The Apache Software Foundation</a> - <a href="privacy-policy.html">Privacy Policy</a><br />
+                Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+                Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+    </body>
+</html>
+