<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2016-05-30 
 | 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="20160530" />
    <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-30
                      <span class="divider">|</span>
                   </li>
                  <li id="projectVersion">Version: 1.7.3
                          <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>
                    
      <li>
  
                          <a href="release-notes/1.7.3.html" title="1.7.3">
          <span class="none"></span>
        1.7.3</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>