<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2016-05-02 
 | Rendered using Apache Maven Fluido Skin 1.4
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20160502" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; Release Process</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script>

    
                  </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                    <a href="http://www.apache.org/" id="bannerLeft">
                                                                                        <img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/>
                </a>
                      </div>
        <div class="pull-right">                                <a href="./" id="bannerRight">
                                                                                                <img src="images/axis.jpg" />
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                  <li id="publishDate">Last Published: 2016-05-02
                      <span class="divider">|</span>
                   </li>
                  <li id="projectVersion">Version: 1.7.2
                          <span class="divider">|</span>
                      </li>
                                      <li class="">
                    <a href="http://www.apache.org" class="externalLink" title="Apache">
        Apache</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="index.html" title="Axis2/Java">
        Axis2/Java</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Release Process</li>
                
                
                    
      
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Axis2/Java</li>
                              
      <li>
  
                          <a href="index.html" title="Home">
          <span class="none"></span>
        Home</a>
            </li>
                
      <li>
  
                          <a href="download.html" title="Downloads">
          <span class="none"></span>
        Downloads</a>
            </li>
                                                                                                                                                                        
      <li>
  
                          <a href="javascript:void(0)" title="Release Notes">
          <span class="icon-chevron-down"></span>
        Release Notes</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="release-notes/1.6.1.html" title="1.6.1">
          <span class="none"></span>
        1.6.1</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.6.2.html" title="1.6.2">
          <span class="none"></span>
        1.6.2</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.6.3.html" title="1.6.3">
          <span class="none"></span>
        1.6.3</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.6.4.html" title="1.6.4">
          <span class="none"></span>
        1.6.4</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.7.0.html" title="1.7.0">
          <span class="none"></span>
        1.7.0</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.7.1.html" title="1.7.1">
          <span class="none"></span>
        1.7.1</a>
            </li>
                    
      <li>
  
                          <a href="release-notes/1.7.2.html" title="1.7.2">
          <span class="none"></span>
        1.7.2</a>
            </li>
              </ul>
        </li>
                
      <li>
  
                          <a href="modules/index.html" title="Modules">
          <span class="none"></span>
        Modules</a>
            </li>
                
      <li>
  
                          <a href="tools/index.html" title="Tools">
          <span class="none"></span>
        Tools</a>
            </li>
                              <li class="nav-header">Documentation</li>
                              
      <li>
  
                          <a href="docs/toc.html" title="Table of Contents">
          <span class="none"></span>
        Table of Contents</a>
            </li>
                
      <li>
  
                          <a href="docs/installationguide.html" title="Installation Guide">
          <span class="none"></span>
        Installation Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/quickstartguide.html" title="QuickStart Guide">
          <span class="none"></span>
        QuickStart Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/userguide.html" title="User Guide">
          <span class="none"></span>
        User Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/jaxws-guide.html" title="JAXWS Guide">
          <span class="none"></span>
        JAXWS Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/pojoguide.html" title="POJO Guide">
          <span class="none"></span>
        POJO Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/spring.html" title="Spring Guide">
          <span class="none"></span>
        Spring Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/webadminguide.html" title="Web Administrator's Guide">
          <span class="none"></span>
        Web Administrator's Guide</a>
            </li>
                
      <li>
  
                          <a href="docs/migration.html" title="Migration Guide (from Axis1)">
          <span class="none"></span>
        Migration Guide (from Axis1)</a>
            </li>
                              <li class="nav-header">Resources</li>
                              
      <li>
  
                          <a href="faq.html" title="FAQ">
          <span class="none"></span>
        FAQ</a>
            </li>
                
      <li>
  
                          <a href="articles.html" title="Articles">
          <span class="none"></span>
        Articles</a>
            </li>
                
      <li>
  
                          <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki">
          <span class="none"></span>
        Wiki</a>
            </li>
                
      <li>
  
                          <a href="refLib.html" title="Reference Library">
          <span class="none"></span>
        Reference Library</a>
            </li>
                
      <li>
  
                          <a href="apidocs/index.html" title="Online Java Docs">
          <span class="none"></span>
        Online Java Docs</a>
            </li>
                              <li class="nav-header">Get Involved</li>
                              
      <li>
  
                          <a href="overview.html" title="Overview">
          <span class="none"></span>
        Overview</a>
            </li>
                
      <li>
  
                          <a href="svn.html" title="Checkout the Source">
          <span class="none"></span>
        Checkout the Source</a>
            </li>
                
      <li>
  
                          <a href="mail-lists.html" title="Mailing Lists">
          <span class="none"></span>
        Mailing Lists</a>
            </li>
                
      <li class="active">
  
            <a href="#"><span class="none"></span>Release Process</a>
          </li>
                
      <li>
  
                          <a href="guidelines.html" title="Developer Guidelines">
          <span class="none"></span>
        Developer Guidelines</a>
            </li>
                
      <li>
  
                          <a href="siteHowTo.html" title="Build the Site">
          <span class="none"></span>
        Build the Site</a>
            </li>
                              <li class="nav-header">Project Information</li>
                              
      <li>
  
                          <a href="team-list.html" title="Project Team">
          <span class="none"></span>
        Project Team</a>
            </li>
                
      <li>
  
                          <a href="issue-tracking.html" title="Issue Tracking">
          <span class="none"></span>
        Issue Tracking</a>
            </li>
                
      <li>
  
                          <a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code">
          <span class="none"></span>
        Source Code</a>
            </li>
                
      <li>
  
                          <a href="thanks.html" title="Acknowledgements">
          <span class="none"></span>
        Acknowledgements</a>
            </li>
                              <li class="nav-header">Apache</li>
                              
      <li>
  
                          <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License">
          <span class="none"></span>
        License</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
          <span class="none"></span>
        Sponsorship</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <span class="none"></span>
        Thanks</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">
          <span class="none"></span>
        Security</a>
            </li>
            </ul>
                
                    
                
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span10" >
                                  
            <!-- ~ 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. --><h1>Release Process</h1>
<div class="section">
<h2><a name="Release_process_overview"></a>Release process overview</h2>
<div class="section">
<h3><a name="Cutting_a_branch"></a>Cutting a branch</h3>

<ul>
  
<li>
<p>When a release is ready to go, release manager (RM) puts forward a release plan as per standard Apache process, including dates. This gets VOTEd on by the committers. During this period the trunk is still the only relevant source base.</p></li>
  
<li>
<p>As soon as a release is approved (or even before), RM should add the new version into JIRA as a target.</p></li>
  
<li>
<p>At the point where we would normally do the &#x201c;code freeze&#x201d; for a release, the RM cuts a branch named for the release. This branch is where the release candidates and releases will happen.</p></li>
  
<li>
<p>Ideally a release branch is only around for a week or maybe two before the release happens.</p></li>
  
<li>
<p>The only things that should EVER get checked into the release branch are - 1) bug fixes targeted at the release, 2) release-specific updates (documentation, SNAPSHOT removal, etc). In particular new functionality does not go here unless it is a solution to a JIRA report targeted at the release.</p></li>
  
<li>
<p>Normal development continues on the trunk.</p></li>
</ul></div>
<div class="section">
<h3><a name="Dependencies_and_branches"></a>Dependencies and branches</h3>

<ul>
  
<li>
<p>The trunk should always be &#x201c;cutting edge&#x201d; and as such should usually be pointing at SNAPSHOT versions of all dependencies. This allows for continuous integration with our partner projects.</p></li>
  
<li>
<p>Soon after a release branch is cut, the RM is responsible for removing ALL dependencies on SNAPSHOT versions and replacing them with officially released versions. This change happens only on the release branch.</p></li>
</ul></div>
<div class="section">
<h3><a name="Managing_change_and_issue_resolution_with_a_release_branch"></a>Managing change and issue resolution with a release branch</h3>

<ul>
  
<li>
<p>The RM goes through JIRA issues and sets &#x201c;fix for&#x201d; to point to both &#x201c;NIGHTLY&#x201d; and the new branched release number for the fixes that are targeted for the release after the branch is cut.</p></li>
  
<li>
<p>In general, the assignee/coder fixes JIRA issues or makes other changes <i>on the trunk</i>. If the JIRA issue is targeted at the release, or upon coder&#x2019;s discretion, they then merge the fix over to the release branch.</p></li>
  
<li>
<p>This way the trunk is ALWAYS up-to-date, and we don&#x2019;t have to worry about losing fixes that have only been made on the release branch.</p></li>
  
<li>
<p>When the assignee resolves an issue, they confirm it&#x2019;s been fixed in both branches, if appropriate.</p></li>
</ul></div>
<div class="section">
<h3><a name="Checking_changes_into_the_branch"></a>Checking changes into the branch</h3>

<ul>
  
<li>
<p>If bug fixes are needed later for a release which has long since happened (to fix user issues, etc), those fixes generally should also happen on the trunk first assuming the problem still exists on the trunk.</p></li>
  
<li>
<p>There are only two cases where we would ever check anything into the branch without first checking it into the trunk. 1) Release specific items (release number references, release notes, removal of SNAPSHOTs), and 2) if the trunk has moved on in some incompatible way.</p></li>
</ul></div></div>
<div class="section">
<h2><a name="Performing_a_release"></a>Performing a release</h2>
<div class="section">
<h3><a name="Preparation"></a>Preparation</h3>
<p>Verify that the code meets the basic requirements for being releasable:</p>

<ol style="list-style-type: decimal">
  
<li>
<p>Check that the set of legal (<tt>legal/*.LICENSE</tt>) files corresponds to the set of third party JARs included in the binary distribution.</p></li>
  
<li>
<p>Check that the <tt>apache-release</tt> profile works correctly and produces the required distributions. The profile can be executed as follows:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">mvn clean install -Papache-release
</pre></div></div></li>
  
<li>
<p>Check that the source distribution is buildable.</p></li>
  
<li>
<p>Check that the source tree is buildable with an empty local Maven repository.</p></li>
</ol>
<p>If any problems are detected, they should be fixed on the trunk (except for issues specific to the release branch) and then merged to the release branch.</p>
<p>Next update the release note found under <tt>src/site/markdown/release-notes</tt>. To avoid extra work for the RM doing the next major release, these changes should be done on the trunk first and then merged to the release branch.</p></div>
<div class="section">
<h3><a name="Pre-requisites"></a>Pre-requisites</h3>
<p>The following things are required to perform the actual release:</p>

<ul>
  
<li>
<p>A PGP key that conforms to the <a class="externalLink" href="http://www.apache.org/dev/release-signing.html">requirements for Apache release signing</a>. To make the release process easier, the passphrase for the code signing key should be configured in <tt>${user.home}/.m2/settings.xml</tt>:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">&lt;settings&gt;
  ...
  &lt;profiles&gt;
    &lt;profile&gt;
      &lt;id&gt;apache-release&lt;/id&gt;
      &lt;properties&gt;
        &lt;gpg.passphrase&gt;&lt;!-- key passphrase --&gt;&lt;/gpg.passphrase&gt;
      &lt;/properties&gt;
    &lt;/profile&gt;
  &lt;/profiles&gt;
  ...
&lt;/settings&gt;
</pre></div></div></li>
  
<li>
<p>The release process uses a Nexus staging repository. Every committer should have access to the corresponding staging profile in Nexus. To validate this, login to <a class="externalLink" href="https://repository.apache.org">repository.apache.org</a> and check that you can see the <tt>org.apache.axis2</tt> staging profile. The credentials used to deploy to Nexus should be added to <tt>settings.xml</tt>:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">&lt;servers&gt;
  ...
  &lt;server&gt;
    &lt;id&gt;apache.releases.https&lt;/id&gt;
    &lt;username&gt;&lt;!-- ASF username --&gt;&lt;/username&gt;
    &lt;password&gt;&lt;!-- ASF LDAP password --&gt;&lt;/password&gt;
  &lt;/server&gt;
  ...
&lt;/servers&gt;
</pre></div></div></li>
</ul></div>
<div class="section">
<h3><a name="Release"></a>Release</h3>
<p>In order to prepare the release artifacts for vote, execute the following steps:</p>

<ol style="list-style-type: decimal">
  
<li>
<p>Start the release process using the following command:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">mvn release:prepare
</pre></div></div>
<p>When asked for a tag name, accept the default value (in the following format: <tt>vX.Y.Z</tt>). The execution of the <tt>release:prepare</tt> goal may occasionally fail because <tt>svn.apache.org</tt> resolves to one of the geolocated SVN mirrors and there is a propagation delay between the master and these mirrors. If this happens, wait for a minute (so that the mirrors can catch up with the master) and simply rerun the command. It will continue where the error occurred.</p></li>
  
<li>
<p>Perform the release using the following command:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">mvn release:perform
</pre></div></div></li>
  
<li>
<p>Login to Nexus and close the staging repository. For more details about this step, see <a class="externalLink" href="https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository">here</a>.</p></li>
  
<li>
<p>Execute the <tt>target/checkout/etc/dist.py</tt> script to upload the distributions.</p></li>
  
<li>
<p>Create a staging area for the Maven site:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">svn cp https://svn.apache.org/repos/asf/axis/site/axis2/java/core \
       https://svn.apache.org/repos/asf/axis/site/axis2/java/core-staging
</pre></div></div></li>
  
<li>
<p>Change to the <tt>target/checkout</tt> directory and prepare the site using the following commands:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">mvn site-deploy
mvn scm-publish:publish-scm -Dscmpublish.skipCheckin=true
</pre></div></div>
<p>Now go to the <tt>target/scmpublish-checkout</tt> directory (relative to <tt>target/checkout</tt>) and check that there are no unexpected changes to the site. Then commit the changes. Note that this may fail because of <a class="externalLink" href="https://issues.apache.org/jira/browse/INFRA-11007">INFRA-11007</a>. In this case, switch to the Subversion master using the following command before trying to commit again:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">svn switch --relocate https://svn.apache.org/ https://svn-master.apache.org/
</pre></div></div></li>
  
<li>
<p>Start the release vote by sending a mail to <tt>java-dev@axis.apache.org</tt>. The mail should mention the following things:</p>
  
<ul>
    
<li>A link to the Nexus staging repository.</li>
    
<li>A link to the directory containing the distributions (<a class="externalLink" href="https://dist.apache.org/repos/dist/dev/axis/axis2/java/core/x.y.x/">https://dist.apache.org/repos/dist/dev/axis/axis2/java/core/x.y.x/</a>).</li>
    
<li>A link to the preview of the Maven site (<a class="externalLink" href="http://axis.apache.org/axis2/java/core-staging/">http://axis.apache.org/axis2/java/core-staging/</a>).</li>
  </ul></li>
</ol>
<p>If the vote passes, execute the following steps:</p>

<ol style="list-style-type: decimal">
  
<li>
<p>Promote the artifacts in the staging repository. See <a class="externalLink" href="https://docs.sonatype.org/display/Repository/Releasing+a+Staging+Repository">here</a> for detailed instructions for this step.</p></li>
  
<li>
<p>Publish the distributions:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">svn mv https://dist.apache.org/repos/dist/dev/axis/axis2/java/core/x.y.z \
       https://dist.apache.org/repos/dist/release/axis/axis2/java/core/
</pre></div></div></li>
  
<li>
<p>Publish the site:</p>
  
<div class="source">
<div class="source"><pre class="prettyprint">svn co --depth=immediates https://svn.apache.org/repos/asf/axis/site/axis2/java/ axis2-site
cd axis2-site
svn rm core
svn mv core-staging core
svn commit
</pre></div></div></li>
</ol>
<p>It may take several hours before everything has been synchronized. Before proceeding, check that</p>

<ul>
  
<li>the Maven artifacts for the release are available from the Maven central repository;</li>
  
<li>the Maven site has been synchronized;</li>
  
<li>the distributions can be downloaded from the mirror sites.</li>
</ul>
<p>Once everything is in place, send announcements to <tt>java-user@axis.apache.org</tt> (with copy to <tt>java-dev@axis.apache.org</tt>) and <tt>announce@apache.org</tt>. Since the two lists have different conventions, audiences and moderation policies, it is recommended to send the announcement separately to the two lists. Note that mail to <tt>announce@apache.org</tt> must be sent from an <tt>apache.org</tt> address and will always be moderated. The announcement sent to <tt>announce@apache.org</tt> also should include a general description of Axis2, because not everybody subscribed to that list knows about the project.</p></div>
<div class="section">
<h3><a name="Post-release_actions"></a>Post-release actions</h3>

<ol style="list-style-type: decimal">
  
<li>
<p>Update the DOAP file (<tt>etc/doap_Axis2.rdf</tt>) and add a new entry for the release.</p></li>
  
<li>
<p>Update the status of the release version in JIRA.</p></li>
  
<li>
<p>Remove old (archived) releases from <a class="externalLink" href="https://dist.apache.org/repos/dist/release/axis/axis2/java/core/">https://dist.apache.org/repos/dist/release/axis/axis2/java/core/</a>.</p></li>
  
<li>
<p>Create an empty release note for the next release under <tt>src/site/markdown/release-notes</tt>.</p></li>
</ol></div></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                                      <p >Copyright &copy;                    2004&#x2013;2016
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
                </div>

        
                </div>
    </footer>
        </body>
</html>