<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
<!--
    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>
    <link rel="shortcut icon" href="http://aries.apache.org/images/favicon.ico"></link>
    <link type="text/css" rel="stylesheet" href="http://aries.apache.org/resources/site.css"></link>
    </script><script src="http://aries.apache.org/resources/menus.js" language="javascript" type="text/javascript"></script>
  <meta name="keywords" content="..."/>
  <meta name="description" content="..." />
    <title>
    Apache Aries - ReleasingAries
    </title>
  </head>
<body onload="SetMenu()">

<table width="100%" cellpadding="0" cellspacing="0">
  <tr width="100%">
    <td id="cell-0-0" colspan="2">&nbsp;</td>
    <td id="cell-0-1">&nbsp;</td>
    <td id="cell-0-2" colspan="2">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-1-0">&nbsp;</td>
    <td id="cell-1-1">&nbsp;</td>
    <td id="cell-1-2">
      <div style="padding: 5px;">
        <div id="banner">
          <!-- Banner -->
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td align="left" class="topbardiv" nowrap="">
            <a href="http://aries.apache.org/" title="Apache Aries"> <img border="0" src="http://aries.apache.org/images/Arieslogo_Horizontal.gif"> </a>
          </td>
          <td align="right" nowrap="">
            <a href="http://www.apache.org/" title="The Apache Software Foundation"> <img border="0" src="http://aries.apache.org/images/apache_feather.png"> </a>
              </td>
        </tr>
      </table>
          <!-- Banner -->
        </div>
      </div>
      <div id="top-menu">
        <table border="0" cellpadding="1" cellspacing="0" width="100%">
          <tr>
            <td>
              <div align="left">
                <!-- Breadcrumbs -->
                <!-- Breadcrumbs -->
              </div>
            </td>
            <td>
              <div align="right">
                <!-- Quicklinks -->
          <DIV style="padding: 5px 5px 0px 25px;">
            <FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
            <A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> 
            <INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
            <INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
            <INPUT maxlength="255" name="q" size="15" type="text" value></INPUT>
            <INPUT name="btnG" type="submit" value="Search"></INPUT>
            <INPUT name="domains" type="hidden" value="aries.apache.org"></INPUT>
            <INPUT name="sitesearch" type="hidden" value="aries.apache.org"></INPUT>
            </FORM>
          </DIV>
                <!-- Quicklinks -->
              </div>
            </td>
          </tr>
        </table>
      </div>
    </td>
    <td id="cell-1-3">&nbsp;</td>
    <td id="cell-1-4">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-2-0" colspan="2">&nbsp;</td>
    <td id="cell-2-1">
      <table>
        <tr height="100%" valign="top">
          <td height="100%">
            <div id="wrapper-menu-page-right">
              <div id="wrapper-menu-page-top">
                <div id="wrapper-menu-page-bottom">
                  <div id="menu-page">
                    <!-- NavigationBar -->
          <style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<div onclick="SwitchMenu('documentation')" id="documentationTitle" class="menutitle">Documentation</div>

<div id="documentation" class="menuitemgroup">
    <div class="menuitem">
        <a href="/documentation/integrators-guide.html">Integrators Guide</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/articles.html">Articles</a> 
    </div>
    <div class="menuitem">
        <a href="https://svn.apache.org/repos/asf/aries/slides/">Slides</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/tutorials.html">Tutorials</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/tools.html">Tools</a> 
    </div>
</div>

<div onclick="SwitchMenu('modules')" id="modulesTitle" class="menutitle">Modules</div>

<div id="modules" class="menuitemgroup">
    <div class="menuitem">
        <a href="/modules/samples.html">Samples</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/async-svcs.html">Asynchronous Services</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprint.html">Blueprint</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprint-maven-plugin.html">Blueprint-maven-plugin</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintannotation.html">Blueprint Annotations</a>
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintnoosgi.html">Blueprint No-OSGi</a>
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintweb.html">Blueprint Web</a>
    </div>
        <div class="menuitem">
                <a href="/modules/containers.html">Containers</a>
        </div>
    <div class="menuitem">
        <a href="/modules/esaanttask.html">ESA Ant Task </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/ebamavenpluginproject.html">EBA Maven Plugin </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/esamavenpluginproject.html">ESA Maven Plugin </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jmx.html">JMX</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jndiproject.html">JNDI</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jpaproject.html">JPA</a> 
    </div>
        <div class="menuitem">
        <a href="/modules/transactioncontrol.html">Transaction Control Service</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/transactionsproject.html">Transactions</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/rsa.html">Remote Service Admin (RSA)</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/spi-fly.html">SPI Fly</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/subsystems.html">Subsystems</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/applications.html">Applications (obsolete)</a> 
    </div>
</div>

<div onclick="SwitchMenu('downloads')" id="downloadsTitle" class="menutitle">Downloads</div>

<div id="downloads" class="menuitemgroup">
    <div class="menuitem">
        <a href="/downloads/currentreleases.html">Current Releases</a> 
    </div>
    <div class="menuitem">
        <a href="/downloads/testresults.html">Compliance Tests</a> 
    </div>
    <div class="menuitem">
        <a href="/downloads/archived-releases.html">Archived Releases</a> 
    </div>
</div>

<div onclick="SwitchMenu('community')" id="communityTitle" class="menutitle">Community</div>

<div id="community" class="menuitemgroup">
    <div class="menuitem">
        <a href="/community/resources.html">Community Resources</a> 
    </div>
    <div class="menuitem">
        <a href="/community/gettinginvolved.html">Getting Involved</a> 
    </div>
    <div class="menuitem">
        <a href="/community/people.html">Who we are</a> 
    </div>
    <div class="menuitem">
        <a href="/community/boardreports.html">Board Reports</a> 
    </div>
        <div class="menuitem">
                <a href="/community/logos.html">Logos for Users</a>
        </div>
</div>

<div onclick="SwitchMenu('development')" id="developmentTitle" class="menutitle">Development</div>

<div id="development" class="menuitemgroup">
    <div class="menuitem">
        <a href="/development/buildingaries.html">Building Aries </a> 
    </div>
    <div class="menuitem">
        <a href="/development/guidelines.html">Cording Guidelines</a> 
    </div>
    <div class="menuitem">
        <a href="/development/architecture.html">Architecture</a> 
    </div>
    <div class="menuitem">
        <a href="/development/releasingaries.html">Releasing Aries </a> 
    </div>
    <div class="menuitem">
        <a href="/development/compliancetesting.html">OSGi Compliance Tests </a> 
    </div>
    <div class="menuitem">
        <a href="/development/maintainingthewebpages.html">Web Site Maintenance </a> 
    </div>
</div>

<div onclick="SwitchMenu('sponsorship')" id="sponsorshipTitle" class="menutitle">Sponsorship</div>

<div id="sponsorship" class="menuitemgroup">
    <div class="menuitem">
        <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> 
    </div>
    <div class="menuitem">
        <a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a> 
    </div>
</div>

<div class="promotion">
    <a href="http://www.apache.org/events/current-event.html">
    <img src="http://www.apache.org/events/current-event-125x125.png" width="125" height="125"/>
    </a>
</div>
                    <!-- NavigationBar -->
                  </div>
                </div>
              </div>
            </div>
          </td>
          <td height="100%" width="100%">
            <!-- Content -->
            <div class="wiki-content"><style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<p><a name="ReleasingAries-HowtodoanAriesRelease"></a></p>
<h1 id="how-to-do-an-aries-release">How to do an Aries Release<a class="headerlink" href="#how-to-do-an-aries-release" title="Permanent link">&para;</a></h1>
<p>There are three types of Aries release:</p>
<ol>
<li>Releasing a single Aries bundle (or group of bundles)</li>
<li>Releasing a distribution - a group of bundles that work together</li>
<li>Releasing the samples</li>
</ol>
<p>The outline process is the same in all three cases, further on down this page there are details about how the
Apache release process works and how to get set up to run it, read those sections first if this is 
your first release. If you are already familiar with the Apache process just use the high level descriptions in the
next few paragraphs to perform releases.</p>
<h2 id="releasing-a-single-bundle-or-group-of-bundles">Releasing a single bundle or group of bundles.<a class="headerlink" href="#releasing-a-single-bundle-or-group-of-bundles" title="Permanent link">&para;</a></h2>
<h3 id="what-to-release-make-a-list">What to release? Make a list<a class="headerlink" href="#what-to-release-make-a-list" title="Permanent link">&para;</a></h3>
<p>The Apache release process will not release any bundle that has dependencies on -SNAPSHOTS. If, for example,
a release of the blueprint API bundle is required the first step is to find and release any of
its -SNAPSHOT dependencies. Because Aries bundles are quite interdependent (see <a href="moduledependencies">here</a> 
for an idea
of how the modules relate to each other, it may be necessary to release quite a large number of bundles. So,
step one is to make a list.  </p>
<h3 id="choosing-a-strategy-for-the-release">Choosing a strategy for the release<a class="headerlink" href="#choosing-a-strategy-for-the-release" title="Permanent link">&para;</a></h3>
<p>Even when releasing a large number of bundles, in Aries we release bundles individually. If there are dependencies
between the bundles you want to release, you have four strategies for how to release them.</p>
<ul>
<li><strong>Release incrementally.</strong> <ul>
<li>Release bundles in dependency order, updating dependencies only after releases are promoted.</li>
<li>This has the advantage that trunk always builds cleanly.</li>
<li>The disadvantage is that each release needs to be open for voting for at least 72 hours, so the elapsed time for a large release can be very long.</li>
<li>The list may get fed up of voting on multiple vote threads, although the <a href="http://aries.apache.org/development/verifyingrelease.html">verification script</a> may help.</li>
</ul>
</li>
<li><strong>Release all at once, then patch up trunk, then fix trunk</strong><ul>
<li>Release api bundles release and have them
uploaded to nexus, then upgrade the implementations  and all other
components to use those releases, commit,  release those other
projects, then close the staging repo and call for a vote.</li>
<li>Bundles in the staging repo will need to compiled in a set order, which makes the verification script less useful.</li>
<li>Trunk will be broken, unless you back out everything which you changed to use the released version back to using the old snapshot (<em>not</em> the new snapshot created by the release plugin). Then once the release has been promoted, change everything using the old snapshot back to using the released version.</li>
<li>Doing a release this way can really reduce the amount of time spent waiting for votes.</li>
<li>However, getting everything right without breaking trunk can be complex.</li>
</ul>
</li>
<li><strong>Release all at once, and use profiles to keep trunk building</strong><ul>
<li>This is similar to the second procedure, except instead of backing everything out, you just provide a maven profile which people can use until the release is promoted</li>
<li>Once the release is promoted, cleaning up is easy - just delete the profile</li>
<li>You will also need to temporarily change the Jenkins build instructions</li>
<li>If people don't notice they need to build using a profile, they may be confused about why things are broken</li>
</ul>
</li>
<li><strong>Release from a branch</strong><ul>
<li>This is similar to the second procedure, except there's no need to patch trunk up to keep it compiling</li>
<li>You will need to merge the branch across once the release has been promoted, which is extra complexity</li>
<li>Doing mainline releases from branches plays havoc with git mirroring, so we promised to try and avoid doing it </li>
<li>See below for extra instructions on releasing from a branch</li>
</ul>
</li>
</ul>
<p>In many cases with semantically versioned bundles there won't be dependencies on the latest and greatest snapshots, which makes everything much easier. </p>
<h3 id="how-to-deal-with-jira">How to deal with JIRA<a class="headerlink" href="#how-to-deal-with-jira" title="Permanent link">&para;</a></h3>
<p>Before actually doing any releasing work through the list of bundles and understand what defects have been fixed
(add more about JIRA versions here)</p>
<h3 id="what-version-will-be-released">What version will be released?<a class="headerlink" href="#what-version-will-be-released" title="Permanent link">&para;</a></h3>
<p>For each bundle on the list check how its package versions have changed since the last release.
Based on this, use the <a href="versionpolicy">versioning policy</a> to determine the version of the bundle that should be released.</p>
<h3 id="releasing-bundles">Releasing bundles<a class="headerlink" href="#releasing-bundles" title="Permanent link">&para;</a></h3>
<p>For each bundle:</p>
<ul>
<li>Deploy a SNAPSHOT to the maven snapshot repository (mvn deploy)</li>
<li>Build each module and run RAT checks</li>
<li>Create the release artifacts (mvn release:prepare)</li>
<li>Upload release artifacts to a staging repository (mvn release:perform)</li>
</ul>
<h3 id="complete-the-process">Complete the process<a class="headerlink" href="#complete-the-process" title="Permanent link">&para;</a></h3>
<p>Once the bundles are in the staging repository, start a vote on the release. After 72 hours close the vote. To complete
the release process it is necessary to copy the new bundles to the dist dir and update table on the web pages.</p>
<h2 id="releasing-a-distribution">Releasing a distribution<a class="headerlink" href="#releasing-a-distribution" title="Permanent link">&para;</a></h2>
<p>A distribution is just a collection of Aries bundles which have already been released.
The distribution is just a convenient way for consumers to download aries bundles and all
of the Aries bundles that they depend on.
There are three distributions:</p>
<ul>
<li>Blueprint</li>
<li>Application (isolating framework)</li>
<li>Application (non-isolating framework)</li>
</ul>
<p>The release process is just the same as for everything else, again, the right time to release these is
immediately after a bundle(s) release when you have a collection of artifacts that 
work together.</p>
<h2 id="releasing-the-samples">Releasing the samples<a class="headerlink" href="#releasing-the-samples" title="Permanent link">&para;</a></h2>
<p>The Aries samples are designed to work across all the Aries modules. Samples are released as a single
module. All of the Aries dependencies are listed in the top level samples pom. 
<em>It is very important the versions are set <strong>only</strong> in the top level 
sample pom</em>. Both sub-modules and filtered resources need the version information, setting it in
one place is the only way to avoid a mess.</p>
<p>The best time to do a samples release is usually at the end of a bundle release. </p>

<p>It is critically important that the samples are all tested before making release. Some have itests
but others (blueprint) are only tested manually. In fact it's wise to run through
a quick manual check for the blog and aries trader samples as the itests do not catch everything.</p>

<h1 id="background-information-on-the-apache-release-process">Background information on the Apache Release process<a class="headerlink" href="#background-information-on-the-apache-release-process" title="Permanent link">&para;</a></h1>
<p>To create a release you will need to create the release artifacts and move
then to various places (ultimately the Maven central repository). The Maven
commands and general outline of the process looks like this:</p>
<p><img alt="rel" src="AriesRelease.png" /></p>
<p>The full maven commands are not shown - the intention is just to
give an indication of which maven commands you will need to use to create
release artifacts in different places.</p>
<p>Performing a release is described in detail <a href="http://apache.org/dev/publishing-maven-artifacts.html">here</a>
. This document It covers all the steps listed above so on these pages we
will only add things which are specific to the Apache Aries release. </p>
<p>There are a few steps to the process:</p>
<ol>
<li>Discussion of the release and its content on the dev@aries mailing list.</li>
<li>Creating and storing GPG keys</li>
<li>Setting up your environment</li>
<li>JIRA preparation</li>
<li>Checking the release version of the bundle</li>
<li>Checking release artifacts on your local system</li>
<li>Creating a snapshot release </li>
<li>Releasing to a staging repository (uses mvn release:prepare and mvn
release:perform)</li>
<li>Running a vote</li>
<li>Promoting the release artifacts to the Apache release repository</li>
<li>Making the release artifacts available from the Aries web pages</li>
<li>What to do when people find problems with the release artifacts</li>
</ol>
<p>The best current documentation for releases is <a href="http://apache.org/dev/publishing-maven-artifacts.html">here</a>. It covers all the steps listed above so on
these pages we will only add things which are specific to the Apache Aries
release.</p>
<p><a name="ReleasingAries-Discussionofthereleaseandit'scontentontheAriesmailinglist"></a></p>
<h3 id="discussion-of-the-release-and-its-content-on-the-aries-mailing-list">Discussion of the release and its content on the Aries mailing list<a class="headerlink" href="#discussion-of-the-release-and-its-content-on-the-aries-mailing-list" title="Permanent link">&para;</a></h3>
<p>Before starting off the release process it is essential to gain consensus
on the dev@aries list that this is the right time for a release and to
agree its content. Allow at least a week for this discussion. </p>
<p><a name="ReleasingAries-CreatingandstoringGPGkeys"></a></p>
<h3 id="creating-and-storing-gpg-keys">Creating and storing GPG keys<a class="headerlink" href="#creating-and-storing-gpg-keys" title="Permanent link">&para;</a></h3>
<p>For Aries your GPG key will need to be in this file:
https://svn.apache.org/repos/asf/aries/KEYS (follow the
instructions in the file) and checkin. Then ensure the file is mirrored to
http://www.apache.org/dist/aries/KEYS by following the instructions <a href="http://www.apache.org/dev/release.html#upload-scp">here</a>.</p>
<p><a name="ReleasingAries-Settingupyourenvironment"></a></p>
<h3 id="setting-up-your-environment">Setting up your environment<a class="headerlink" href="#setting-up-your-environment" title="Permanent link">&para;</a></h3>
<p>Follow the general instructions linked to above. </p>
<p><a name="ReleasingAries-Creatingabranchtoreleasefrom"></a></p>
<h3 id="creating-a-branch-to-release-from-if-needed">Creating a branch to release from (if needed)<a class="headerlink" href="#creating-a-branch-to-release-from-if-needed" title="Permanent link">&para;</a></h3>
<p>It is strongly recomended that releases are made from trunk and NEVER from a branch. But, if you have to release from a branch this is what 
you will need to do:</p>
<div class="codehilite"><pre><span class="n">svn</span> <span class="n">copy</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">aries</span><span class="o">/</span><span class="n">trunk</span> <span class="o">\</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">aries</span><span class="o">/</span><span class="n">branches</span><span class="o">/</span>0<span class="p">.</span><span class="n">X</span><span class="o">-</span><span class="n">RCx</span> <span class="o">\</span>

  <span class="o">-</span><span class="n">m</span> &quot;<span class="n">Creating</span> <span class="n">a</span> <span class="n">release</span> <span class="n">branch</span> <span class="n">of</span> <span class="o">/</span><span class="n">aries</span><span class="o">/</span><span class="n">trunk</span><span class="p">.</span>&quot;
</pre></div>


<p>Where '0.X' is the number of the release.</p>
<p>Checkout the new branch, for example, for the 0.2-incubating  release:</p>
<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">aries</span><span class="o">/</span><span class="n">branches</span><span class="o">/</span>0<span class="p">.</span>2<span class="o">-</span><span class="n">RCx</span> <span class="n">aries</span><span class="o">-</span>0<span class="p">.</span>2<span class="o">-</span><span class="n">candidate</span>
</pre></div>


<p><em>IMPORTANT</em> If you are using a branch to release you <strong>must</strong> edit the 
pom.xml for <strong>each</strong> bundle to change the SCM references to point to the
branch and not to trunk. For example:</p>
<div class="codehilite"><pre><span class="nt">&lt;connection&gt;</span>scm:svn:http://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent<span class="nt">&lt;/connection&gt;</span>

<span class="nt">&lt;developerConnection&gt;</span>scm:svn:https://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent<span class="nt">&lt;/developerConnection&gt;</span>

<span class="nt">&lt;url&gt;</span>scm:svn:http://svn.apache.org/repos/asf/aries/branches/0.2-RCx/parent<span class="nt">&lt;/url&gt;</span>
</pre></div>


<p>The consequence of forgetting this is that the commands that create the
release (mvn release:prepare, mvn release:perform) will declare SUCCESS but
will not create a staging repository and will add stuff to the snapshot
repository :-/.</p>
<p>After taking the branch, change the pom versions in trunk to, say,
0.3-incubating or whatever you want to call the next development version.</p>
<p><a name="ReleasingAries-Checkingbundleversion"></a></p>
<h3 id="checking-which-version-of-the-bundle-to-release">Checking which version of the bundle to release<a class="headerlink" href="#checking-which-version-of-the-bundle-to-release" title="Permanent link">&para;</a></h3>
<p>If the Maven version of the bundle ends -SNAPSHOT then some change has been made which may require a release.
To get a summary of the changes, use svn to compare with the most recently released tag, 
for example:</p>
<div class="codehilite"><pre> <span class="n">svn</span> <span class="n">diff</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">aries</span><span class="o">/</span><span class="n">tags</span><span class="o">/</span><span class="n">testsupport</span><span class="o">-</span>0<span class="p">.</span>3<span class="o">/</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">aries</span><span class="o">/</span><span class="n">trunk</span><span class="o">/</span><span class="n">testsupport</span><span class="o">/</span> <span class="o">--</span><span class="n">summarize</span>
</pre></div>


<p>In general, if no Java files have changed only the micro version of the bundle will need to be incremented on release. If Java 
code has changed it is important to check the packageinfo files to see whether package versions have changed. If so
these might lead to the requirement to increment the major or minor versions the bundle.</p>
<p><a name="ReleasingAries-Checkingreleaseartifacts"></a></p>
<h3 id="checking-release-artifacts">Checking release artifacts<a class="headerlink" href="#checking-release-artifacts" title="Permanent link">&para;</a></h3>
<p>Delete everything under ...org/apache/aries in your local
Maven repo. For linux/Mac users you will find this under ~/.m2/repository/.</p>
<p>Check that the code builds using the usual <a href="buildingaries.html">sequence</a>
 of commands, but add the following arguments to the 'mvn install' command:</p>
<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">install</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span> <span class="o">-</span><span class="n">DcreateChecksum</span><span class="p">=</span><span class="n">true</span>
</pre></div>


<p>This should build and install release artifacts in your local repo. </p>
<p>Check the <a href="https://repository.apache.org/content/repositories/releases/org/apache/aries/parent/0.1-incubating/">0.1 release</a>
 to understand what files should be created.</p>
<p>To perform legal checks, in each subproject, run:</p>
<div class="codehilite"><pre><span class="n">mvn</span> <span class="nb">rat</span><span class="p">:</span><span class="n">check</span> <span class="o">-</span><span class="n">fn</span>
</pre></div>


<p>This will run through the project and its sub projects generating a file
called rat.txt in each target directory.
The 'fn' means it will carry on even if it find a failure. To inspect the
failures, use:</p>
<div class="codehilite"><pre><span class="nb">find</span> <span class="p">.</span> <span class="o">-</span><span class="n">name</span> <span class="nb">rat</span><span class="p">.</span><span class="n">txt</span> <span class="o">|</span> <span class="n">xargs</span> <span class="n">grep</span> <span class="o">\</span>!<span class="o">\</span>?<span class="o">\</span>?
</pre></div>


<p>This will pick out the failing file names. Some of the files that rat fails
do not require an Apache license, eg MANIFEST.MF, but any <em>.java or </em>.js
file does need one. As an alternative you can use 'mvn -Prat install'.</p>
<p><a name="ReleasingAries-Creatingasnapshotrelease"></a></p>
<h3 id="creating-a-snapshot-release">Creating a snapshot release<a class="headerlink" href="#creating-a-snapshot-release" title="Permanent link">&para;</a></h3>
<p>This is important to do when releasing from trunk as other bundles may want
to continue to depend on the -SNAPSHOT version while the release is voted through.</p>
<p>mvn deploy (check exact format)</p>
<h3 id="jira-preparation">JIRA preparation<a class="headerlink" href="#jira-preparation" title="Permanent link">&para;</a></h3>
<ul>
<li>After initial release discussion on the mailing list you should have a list of JIRA issues that are required in the release. If not, the default assumption is 'everything that has been fixed since the last release'.</li>
<li>Make sure that there is a JIRA version that matches the name of the release, if not, create one.</li>
<li>Check through defects, make sure that anything that is included in the release has been closed. If there are open issues move them to the next release.</li>
</ul>
<p><a name="ReleasingAries-Creatingtherelease"></a></p>
<h3 id="creating-the-release">Creating the release<a class="headerlink" href="#creating-the-release" title="Permanent link">&para;</a></h3>
<p><a name="ReleasingAries-Creatingthereleaseartifactsinastagingrepository"></a></p>
<h5 id="creating-the-release-artifacts-in-a-staging-repository">Creating the release artifacts in a staging repository<a class="headerlink" href="#creating-the-release-artifacts-in-a-staging-repository" title="Permanent link">&para;</a></h5>
<p>The release is
created by releasing each bundle separately and in a specific order. It is
also desirable to maintain the same IP address for the entire process (the
staging repository is associated with your IP address, changing it results
in the creation of a second staging repository).</p>
<p>Short summary: Use a wired ether net connection and allow about 4 hours for
the next few steps.</p>
<p>From the top level directory in your branch run:</p>
<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span>
</pre></div>


<p><em>Note</em> The prepare step will make some assumptions about the version of the
development stream that is left after the release has been made. When
releasing from a branch it may not be a good idea to accept the default for
this, it will very likely conflict with the development version in use in
trunk.</p>
<p>For each bundle that needs to be release perform the following commands:</p>
<div class="codehilite"><pre><span class="n">Check</span> <span class="n">that</span> <span class="n">there</span> <span class="n">are</span> <span class="n">no</span> <span class="n">depndencies</span> <span class="n">on</span> <span class="o">-</span><span class="n">SNAPSHOT</span> <span class="n">versions</span><span class="p">.</span>
<span class="n">Ensure</span> <span class="n">that</span> <span class="n">everything</span> <span class="n">is</span> <span class="n">committed</span> <span class="n">in</span> <span class="n">SVN</span>
<span class="n">mvn</span> <span class="n">release</span><span class="p">:</span><span class="n">prepare</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span> <span class="o">-</span><span class="n">DpreparationGoals</span><span class="p">=</span>&quot;<span class="n">clean</span> <span class="n">install</span>&quot; <span class="o">-</span><span class="n">DwaitBeforeTagging</span><span class="p">=</span>&quot;10&quot; <span class="o">-</span><span class="n">DscmCommentPrefix</span><span class="p">=</span>&quot;<span class="p">[</span><span class="n">ARIES</span><span class="o">-</span><span class="n">xxx</span><span class="p">][</span><span class="n">maven</span><span class="o">-</span><span class="n">release</span><span class="o">-</span><span class="n">plugin</span><span class="p">]</span>&quot;
<span class="n">mvn</span> <span class="n">release</span><span class="p">:</span><span class="n">perform</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span>
</pre></div>


<ul>
<li>Note 1: Use the -DdryRun option to check that release-prepare works.</li>
<li>
<p>Note 2: mvn release:prepare makes and commits changes in SVN. You'll be asked three questions. Here they are with answers for the 'parent' module release: </p>
<ol>
<li>What is the release version for "Aries :: Top Parent POM"? (org.apache.aries:parent) 0.5: :    </li>
<li>What is SCM release tag or label for "Aries :: Top Parent POM"? (org.apache.aries:parent) parent-0.5: :</li>
<li>What is the new development version for "Aries :: Top Parent POM"? (org.apache.aries:parent) 0.6-SNAPSHOT: : 0.5.1</li>
</ol>
<p>i.e. take the defaults for the last two questions, but change the release version if required. The last person doing a release didn't know whether the next version released from the trunk would have a major, minor or micro version number change - they couldn't know until those changes were made! - but they had to make a guess. Now is the time 
to correct their guess. Similarly, you won't know what the next release number should be, but you need to use <em>something</em>, so accept the default. </p>
</li>
<li>
<p>Note 3: Since the release plugin makes changes in SCM, use a JIRA for the release (ARIES-XXX here) in the commit comment to make it easier to see what's changed.</p>
</li>
<li>Note 4: The task will appear to hang at the end. It's waiting ten seconds to do the tagging, to ensure everything works in Europe, where svn is mirrored from a US master.</li>
<li>Note 5: mvn release:clean will do <em>most</em> of the cleaning up in the event of failures.</li>
<li>Note 6: If on mvn release:prepare you get an error from SVN similar to https://svn.apache.org/repos/asf/!svn/bc/1182408/aries/tags/parent-0.5/default-parent/java5-parent/org.apache.aries.bundle.i.am.releasing does not exist then it's because there's no scm element in the pom.xml for the module you're releasing.</li>
</ul>
<p>This will put release artifacts into an Apache <a href="https://repository.apache.org/index.html#view-repositories;staging.html">staging repository </a>. You will need to log in to see it.
If nothing appears in a staging repo you should stop here and work out why. 
If you have made a mistake it's quite easy to revert. The release
commands make and commit changes to the project's pom.xml files and they
create a tag in SVN. To revert the changes you will need to revert the
pom.xml files and delete the tag from svn.</p>
<p><a name="ReleasingAries-Closingthestagingrepository"></a></p>
<h5 id="closing-the-staging-repository">Closing the staging repository<a class="headerlink" href="#closing-the-staging-repository" title="Permanent link">&para;</a></h5>
<p>After checking that the staging repository contains the artifacts that you
expect you should close the staging repository. This will make it available
so that people can check the release.</p>
<p><a name="ReleasingAries-Runningthevote(s)"></a></p>
<h3 id="running-the-vote">Running the vote.<a class="headerlink" href="#running-the-vote" title="Permanent link">&para;</a></h3>
<p>At this
point you should write two notes to the dev@aries.apache.org mailing list. You may wish to ensure they have slightly different subjects, since googlemail seems to ignore anything in brackets when threading. </p>
<ul>
<li>Subject [VOTE]
 Apache Aries release candidate 0N</li>
</ul>
<p>The the source archive files should be explicitly called out by release
manager in any release vote. From an Apache legal standpoint, this is what
the project is "releasing" and what the community should be voting on. In
this <a href="devlistvote.txt">sample note</a>
, there is a link to each modules' source*.zip file.</p>
<ul>
<li>Subject [DISCUSS]
 Apache Aries  release candidate 0X</li>
</ul>
<p>The content should just indicate that the note starts a thread to discuss
the Aries release.</p>
<p>After 72 hours, if no problems have been found in the release artifacts,
the dev@aries vote can be summarised and closed. Note that at least three
+1 votes from Aries PMC members are required. </p>
<p><a name="ReleasingAries-Promotingthereleaseartifacts"></a></p>
<h3 id="promoting-the-release-artifacts">Promoting the release artifacts<a class="headerlink" href="#promoting-the-release-artifacts" title="Permanent link">&para;</a></h3>
<p>From the <a href="https://repository.apache.org/index.html#stagingRepositories">Nexus pages</a>
, select the staging repository and select 'release' from the top menu.
This moves the release artifacts into an Apache releases repository, from
there they will be automatically moved to the Maven repository.</p>
<p><a name="ReleasingAries-MakingthereleaseartifactsavailablefromtheArieswebpages."></a></p>
<h3 id="making-the-release-artifacts-available-from-the-aries-web-pages">Making the release artifacts available from the Aries web pages.<a class="headerlink" href="#making-the-release-artifacts-available-from-the-aries-web-pages" title="Permanent link">&para;</a></h3>
<p>Anything that is to be downloaded must be put in
/www/www.apache.org/dist/aries on minotaur. Don't forget to changes the file permissions to '664' so that other 
members of the group can access them. The distributions are
archived here /www/archive.apache.org/dist/aries.</p>
<p>First, delete the artifacts of the previous release from the distribution directory. You don't need to worry about putting the previous release artifacts in the archive as they will already have been rsync'd from the distribution directory.</p>
<p>Then, put new release artifacts in the distribution directory. This is best done using a script, the script can be generated using
the perl script <a href="http://svn.apache.org/repos/asf/aries/scripts/download_release_artifacts.pl">download_release_artifacts.pl</a>. </p>
<p>Next, update the Aries Downloads pages to refer to the new artifacts. The the perl script <a href="http://svn.apache.org/repos/asf/aries/scripts/create_modules_table.pl">create_modules_table.pl</a> can do this automatically.</p>
<h3 id="updating-dependencies">Updating dependencies<a class="headerlink" href="#updating-dependencies" title="Permanent link">&para;</a></h3>
<p>Once the release is promoted, change all the bundles which depend on the SNAPSHOT to depend on the released version. Deployed snapshots get regularly cleaned from the repositories if there's a released version available, so building against them isn't reliable. </p>
<p>Don't move bundles which depend on earlier releases to depend on the new release, or they won't be able to run in an environment with the older bundles. </p>
<h3 id="tidying-up-tasks">Tidying up tasks<a class="headerlink" href="#tidying-up-tasks" title="Permanent link">&para;</a></h3>
<ul>
<li>Get the <a href="http://aries.apache.org/development/compliancetesting.html">compliance tests</a> run</li>
<li>Release notes</li>
<li>Release the component in JIRA (manage components), check the JIRA release notes.</li>
</ul>
<p><a name="ReleasingAries-Whattodowhenpeoplefindproblemswiththerelease"></a></p>
<h3 id="what-to-do-when-people-find-problems-with-the-release">What to do when people find problems with the release<a class="headerlink" href="#what-to-do-when-people-find-problems-with-the-release" title="Permanent link">&para;</a></h3>
<ul>
<li>Cancel the vote [CANCELLED] [VOTE]</li>
<li>Clean up, fix and re-release.
The good news here is that it isn't necessarily essential to re-release
every module. </li>
</ul></div>
            <!-- Content -->
          </td>
        </tr>
      </table>
   </td>
   <td id="cell-2-2" colspan="2">&nbsp;</td>
  </tr>
  <tr width="100%">
   <td id="cell-3-0">&nbsp;</td>
   <td id="cell-3-1">&nbsp;</td>
   <td id="cell-3-2">
     <div id="footer">
       <!-- Footer -->
       <div id="site-footer">
         <a href="http://aries.apache.org/privacy-policy.html";>Privacy
Policy</a> 
       </div>
       <!-- Footer -->
     </div>
   </td>
   <td id="cell-3-3">&nbsp;</td>
   <td id="cell-3-4">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-4-0" colspan="2">&nbsp;</td>
    <td id="cell-4-1">&nbsp;</td>
    <td id="cell-4-2" colspan="2">&nbsp;</td>
  </tr>
</table>
</body>
</html> 
