You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by bu...@apache.org on 2011/03/24 12:19:47 UTC

svn commit: r787457 - /websites/staging/aries/trunk/content/development/releasingaries.html

Author: buildbot
Date: Thu Mar 24 11:19:47 2011
New Revision: 787457

Log:
Staging update by buildbot

Modified:
    websites/staging/aries/trunk/content/development/releasingaries.html

Modified: websites/staging/aries/trunk/content/development/releasingaries.html
==============================================================================
--- websites/staging/aries/trunk/content/development/releasingaries.html (original)
+++ websites/staging/aries/trunk/content/development/releasingaries.html Thu Mar 24 11:19:47 2011
@@ -434,12 +434,22 @@ development stream that is left after th
 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>The install command is required to make sure that you have a copy of the
-parent in your local repository - it's required for releasing the
-eba-maven-plugin.</p>
-<p>This _should _ start to 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
+<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="nb">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="o">.</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: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="o">=</span><span class="s">&quot;clean install&quot;</span> 
+<span class="n">mvn</span> <span class="n">release: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>Note 2: mvn release:prepare makes and commits changes in SVN. </li>
+<li>Note 3: mvn release:clean will do <em>most</em> of the cleaning up in the event of failures.</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>
@@ -462,55 +472,6 @@ the last step, with a message like:</p>
 the US. When you make a commit, it isn't immediately available in Europe to
 svn up to. Just wait 10 secs and repeat the mvn release:prepare command for
 it to restart where it left off.</p>
-<p>The next step is to release the eba-maven-plugin.</p>
-<div class="codehilite"><pre><span class="n">cd</span> <span class="o">..</span><span class="sr">/eba/m</span><span class="n">aven</span><span class="o">-</span><span class="n">plugin</span>
-<span class="n">mvn</span> <span class="n">versions:update</span><span class="o">-</span><span class="n">parent</span>
-<span class="n">mvn</span> <span class="n">versions:use</span><span class="o">-</span><span class="n">releases</span>
-<span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;updated to latest releases&quot;</span>
-<span class="n">mvn</span> <span class="n">release:prepare</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span>
-<span class="n">mvn</span> <span class="n">release:perform</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span>
-</pre></div>
-
-
-<p>Then for each project, in the order given below:</p>
-<div class="codehilite"><pre><span class="n">testsupport</span>
-<span class="n">util</span>
-<span class="n">proxy</span>
-<span class="n">quiesce</span>
-<span class="n">blueprint</span> 
-<span class="n">jndi</span>
-<span class="n">transaction</span>
-<span class="n">web</span>
-<span class="n">application</span>
-<span class="n">jmx</span>
-<span class="n">jpa</span>
-<span class="n">samples</span> <span class="o">*</span><span class="n">See</span> <span class="n">Note</span> <span class="mi">1</span> <span class="n">below</span><span class="o">*</span>
-</pre></div>
-
-
-<p>Run the following commands:</p>
-<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">versions:update</span><span class="o">-</span><span class="n">parent</span>   <span class="o">!</span><span class="n">Update</span> <span class="n">parent</span> <span class="n">to</span> <span class="n">latest</span> <span class="n">available</span>
-<span class="n">mvn</span> <span class="n">versions:use</span><span class="o">-</span><span class="n">releases</span> <span class="o">*</span><span class="n">See</span> <span class="n">Note</span> <span class="mi">3</span> <span class="n">below</span><span class="o">*</span>
-<span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;updated to latest releases&quot;</span>
-<span class="n">rm</span> <span class="n">pom</span><span class="o">.</span><span class="n">xml</span><span class="o">.</span><span class="n">versionsBackup</span>
-<span class="n">mvn</span> <span class="n">release: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="o">=</span><span class="s">&quot;clean install&quot;</span>
-<span class="o">*</span><span class="n">See</span> <span class="n">Note</span> <span class="mi">2</span> <span class="n">below</span><span class="o">*</span>
-<span class="n">mvn</span> <span class="n">release: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: when doing mvn versions:* actions in samples, you must also
-manually change the version properties that are coded as properties in the top level
-pom.xml. The only '-SNAPSHOT' you should have left in samples/pom.xml is
-the version element for the module itself.</li>
-<li>Note 2: -DpreparationGoals="clean install"  is needed for all modules
-that have sub modules with dependencies between them, in practice this is
-most modules.</li>
-<li>Note 3: These two commands should only make changes to the top level pom.xml. However, this relies on people having 
-understood that all the modules' dependencies go in the top level pom. If they haven't it's better 
-to fix the poms before releasing.</li>
-</ul>
 <p><a name="ReleasingAries-Closingthestagingrepository"></a></p>
 <h5 id="closing_the_staging_repository">Closing the staging repository</h5>
 <p>After checking that the staging repository contains the artifacts that you
@@ -518,12 +479,11 @@ expect you should close the staging repo
 so that people can check the release.</p>
 <p><a name="ReleasingAries-Runningthevote(s)"></a></p>
 <h3 id="running_the_vote">Running the vote.</h3>
-<p>After all the modules are present in the staging repository you will need
-to close the repository so that reviewers can access the modules. At this
+<p>At this
 point you should write two notes to the dev@aries.apache.org mailing list.</p>
 <ul>
 <li>Subject [VOTE]
- Apache Aries (Incubating) version 0.X-incubating release candidate 02</li>
+ 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
@@ -532,19 +492,15 @@ this <a href="devlistvote.txt">sample no
 , there is a link to each modules' source*.zip file.</p>
 <ul>
 <li>Subject [DISCUSS]
- Apache Aries (Incubating) version 0.X-incubating release candidate 0X</li>
+ Apache Aries  release candidate 0X</li>
 </ul>
 <p>The content should just indicate that the note starts a thread to discuss
-the Aries 0.X-incubating release.</p>
+the Aries release.</p>
 <p>After 72 hours, if no problems have been found in the release artifacts,
-the aries-dev vote can be summarised and closed. Note that at least three
-+1 votes from Aries IPMC members are required. </p>
-<p>After closing the vote on the aries-dev list, the second vote (on the
-general@) can be started. Here is a <a href="generallistvote.txt">sample note</a>
-, the subject of the note is [VOTE]Approval to release Apache Aries
-(Incubating) version 0.X-incubating</p>
-<p>After another 72 hours, assuming there are no objections, this vote can
-also be summarised and closed.</p>
+the dev@aries vote can be summarised and closed. Note that at least three
++1 votes from Aries PMC members are required. </p>
+<p>Finally - ensure that the file aries_release_version.txt is completely up to date and accurate. 
+You will use this file in the following steps to help build the release web pages.</p>
 <p><a name="ReleasingAries-Promotingthereleaseartifacts"></a></p>
 <h3 id="promoting_the_release_artifacts">Promoting the release artifacts</h3>
 <p>From the <a href="https://repository.apache.org/index.html#stagingRepositories">Nexus pages</a>
@@ -558,16 +514,11 @@ there they will be automatically moved t
 members of the group can access them. The distributions are
 archived here /www/archive.apache.org/dist/aries.</p>
 <p>First, delete the previous distribution from the distribution directory.
-Download the release artifacts using a script like <a href="release-0.2">this</a>
-. Next, update the Aries Downloads pages to refer to the new artifacts.</p>
+Download the release artifacts This is best done using a script, the script can be generated uing
+the perl script download_release_artifacts.pl. </p>
+<p>Next, update the Aries Downloads pages to refer to the new artifacts.</p>
 <h3 id="tidying_up_tasks">Tidying up tasks</h3>
 <ul>
-<li>Move trunk to a new level, useful *ix commands:<ul>
-<li>find . -name "pom.xml" -exec sed -ie "s#0.3-SNAPSHOT#0.4-SNAPSHOT#g" {} ;</li>
-<li>find . -name pom.xmle | xargs -I {} rm {} <br/>
-   or use a fancy editor.</li>
-</ul>
-</li>
 <li>Get the compliance tests run</li>
 <li>Release notes</li>
 <li>Release the component in JIRA (manage components), check the JIRA release notes.</li>
@@ -579,42 +530,7 @@ Download the release artifacts using a s
 <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>
-<p><a name="ReleasingAries-Cleaningup,fixingandre-releasing"></a></p>
-<h3 id="cleaning_up_fixing_and_re-releasing">Cleaning up, fixing and re-releasing</h3>
-<p>The release process makes changes to project poms and adds a tag in svn.
-The first step is to revert the changes to the poms in the problem modules. Hopefully (see Note 3 above)
-it will only be necessary to revert the top level module pom. If you have to revert other poms in the 
-module this works on *ix:</p>
-<p>Determine which revision you want to go back to (eg XXXXX)</p>
-<div class="codehilite"><pre><span class="n">svn</span> <span class="n">up</span> <span class="o">-</span><span class="n">r</span> <span class="n">XXXXXX</span>
-<span class="n">find</span> <span class="o">.</span> <span class="o">-</span><span class="n">name</span> <span class="n">pom</span><span class="o">.</span><span class="n">xml</span> <span class="o">|</span> <span class="n">xargs</span> <span class="o">-</span><span class="n">I</span> <span class="p">{}</span> <span class="n">mv</span> <span class="p">{}</span> <span class="p">{}</span><span class="n">_old</span>
-<span class="n">svn</span> <span class="n">up</span>
-<span class="n">find</span> <span class="o">.</span> <span class="o">-</span><span class="n">name</span> <span class="n">pom</span><span class="o">.</span><span class="n">xml</span> <span class="o">|</span> <span class="n">xargs</span> <span class="o">-</span><span class="n">I</span> <span class="p">{}</span> <span class="n">mv</span> <span class="p">{}</span><span class="n">_old</span> <span class="p">{}</span>
-<span class="n">svn</span> <span class="n">status</span> <span class="c1">#Check what you have changed!</span>
-<span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;reverting release changes&quot;</span>
-</pre></div>
-
-
-<p>Next - delete the tag relating to the module from SVN</p>
-<p>Finally - delete the folder from the staging repository (Right-click over the folder and select delete)</p>
-<p>Make the fixes that you need to in the project, commit them and work
-through the release process again. </p>
-<p>In some cases you may also want to merge from trunk into the release
-branch. The syntax to do this is:</p>
-<div class="codehilite"><pre><span class="n">svn</span> <span class="n">merge</span> <span class="o">-</span><span class="n">c</span> <span class="n">ZZZZZZ</span> <span class="n">https:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/aries/</span><span class="n">trunk</span>
-</pre></div>
-
-
-<p>Where ZZZZZZ is the revision associated with the fix.
-Note that you will be creating a new staging repository. The commands are
-repeated here for convenience:</p>
-<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">versions:update</span><span class="o">-</span><span class="n">parent</span>
-<span class="n">mvn</span> <span class="n">versions:use</span><span class="o">-</span><span class="n">releases</span>
-<span class="n">svn</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s">&quot;&lt;version&gt; RC&lt;#&gt;: updated to latest releases&quot;</span>
-<span class="n">mvn</span> <span class="n">release: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="o">=</span><span class="s">&quot;clean install&quot;</span>
-<span class="n">mvn</span> <span class="n">release:perform</span> <span class="o">-</span><span class="n">Papache</span><span class="o">-</span><span class="n">release</span>
-</pre></div></div>
+</ul></div>
             <!-- Content -->
           </td>
         </tr>