cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache CXF > Release Management
Date Fri, 16 Mar 2012 13:19:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2042/9/15/_/styles/combined.css?spaceKey=CXF&amp;forWysiwyg=true"
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="">Release
    <h4>Page <b>edited</b> by             <a href="">Daniel
                         <h4>Changes (4)</h4>
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>Then, to actually perform
the relesae, run the below commands.   <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">{warning}</span>
<span class="diff-added-words"style="background-color: #dfd;">{note}</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">Make
sure you use Maven 2.2.1, not Maven 3.x.  There is a bug that causes the signatures of the
projects of packaging &quot;bundle&quot; to not be deployed correctly with Maven 3.x.
 Also, since CXF supports Java5, it is recommended that the release be done with a Java5 JDK.
            <tr><td class="diff-added-lines" style="background-color: #dfd;">It
is suggested to use Maven 2.2.1 for CXF versions &lt;=2.5.x as that has been better tested.
  For &gt;=2.6.0, Maven 3 is required.  Also, since CXF supports Java5, it is recommended
that the release be done with a Java5 JDK. <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">{warning}</span>
<span class="diff-added-words"style="background-color: #dfd;">{note}</span> <br></td></tr>
            <tr><td class="diff-unchanged" >{noformat} <br>mvn release:prepare
-Peverything,jaxws22 <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="ReleaseManagement-Deployingsnapshots"></a>Deploying

<p>Snapshots are automatically deployed every night to the Nexus snapshot repository
at <a href="" class="external-link"
.  There is no need to manually deploy snapshots anymore.</p>

<h2><a name="ReleaseManagement-Maintainingafixesbranch"></a>Maintaining
a fixes branch</h2>
<p>dkulp: I'm adding this section to document what worked for ME when maintaining the
2.0.x-fixes branch for the 2.0.x releases.  Each Release Manager may have their own style
or tools or whatever.   This is not a "set in stone" type thing.  </p>

<p>Basically, almost all development and fixes and such are usually done by the various
developers right on trunk.   Thus, the main job of the fixes branch maintainer is to triage
the commits on trunk and merge pure fixes to the fixes branch, resolve conflicts, run the
tests, and periodically deploy snapshots.   For the most part, when things go well, it doesn't
take too much time or effort.   An hour or two every couple days is about it.</p>

<p>To set up, you'll want to:</p>
	<li>use svn cp to make a branch. Use URLs for the pathnames or it will take <em>forever</em>.</li>
	<li>use bin/ to change the version in the branch</li>
	<li>use init to set up svnmerge. You may want to run this in <em>both</em>
the trunk and the new branch in case you are contemplating bidirectional merges.</li>

<p>These steps work for individual developers who want to go off into a branch in the
sandbox to work through something complex.</p>

<p>In trunk/bin, there is a program that wraps to assist in
the merging.   If the branch is setup with, if you run it from you checkout directory,
it will prompt for every commit on trunk to see if you want to "Merge" it, "Block" it, or
"Ignore" it.   It displays the commit log first so you can see what was involved.   You can
also check the  <a href="" class="external-link"
rel="nofollow">cxf-commits</a> archive to see the full details of the commit to help
decide what action to take.  If you select "Merge", it will merge the change and then prompt
before committing.    That will allow you to look at the merge and resolve any conflicts.
 (or even revert it if you didn't mean to hit Merge)</p>

<h2><a name="ReleaseManagement-Performingarelease"></a>Performing a release</h2>

<p>The first step is to update the release_notes.txt in the distribution/src/main/release.</p>

<p>Then, to actually perform the relesae, run the below commands.  </p>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16"
align="absmiddle" alt="" border="0"></td><td>It is suggested to use Maven 2.2.1
for CXF versions &lt;=2.5.x as that has been better tested.   For &gt;=2.6.0, Maven
3 is required.  Also, since CXF supports Java5, it is recommended that the release be done
with a Java5 JDK.</td></tr></table></div>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
<pre>mvn release:prepare -Peverything,jaxws22
mvn release:perform
<p>That will tag the release, update the poms, etc...  Then build it (off the tag) and
deploy everything (including source jars and javadoc jars) to the Nexus repository location
and gpg signs everything.  When the build is done staging, you need to login to the Nexus
repository and "close" the staging are.    That is very important.   After the staging are
is closed, note the URL for the staging area as you will need that for the vote.</p>
<div class='panelMacro'><table class='warningMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/forbidden.gif" width="16"
height="16" align="absmiddle" alt="" border="0"></td><td>You may encounter
error like<br/>
<a href="/confluence/pages/createpage.action?spaceKey=CXF&amp;title=INFO&amp;linkCreation=true&amp;fromPageId=70605"
class="createlink">INFO</a> Unable to tag SCM<br/>
Provider message:<br/>
The svn tag command failed.<br/>
Command output:<br/>
svn: PROPFIND request failed on '/repos/asf/!svn/vcc/default'<br/>
svn: No such revision 1197023<br/>
when run "mvn release:prepare -Peverything,jaxws22" to create tag if you're not in U.S. <br/>
This is caused by that the svn server in Europe need some time to sync up to the central server
in U.S.<br/>
If you encounter it, just wait a minute, and do "mvn release:prepare -Dresume=true -Peverything,jaxws22"
will pick up the left task from last run.</td></tr></table></div>

<p>At this point, everything "pre-vote" is done.   Call the vote.</p>

<p>After the vote passes, you'll need to promote that staging repository to the main
location. Login to Nexus to do that as well.  See above Maven team release page.</p>

<p>Also, don't forget to copy the actual distributions to</p>

<p>Unpack the javadocs.  Create a new directory in /www/ to match
the version number and then unpack the cxf-bundle/$version/*-javadoc.jar from the maven repo
into that new directory.  Update the "latest" sym-links in the javadoc directory to point
to the new directory.</p>

<p>Finally, update the <a href="/confluence/display/CXF/Download" title="Download">download</a>

        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href=""
class="grey">Change Notification Preferences</a>
        <a href="">View
        <a href="">View
        <a href=";showCommentArea=true#addcomment">Add

View raw message