camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > Release Guide
Date Fri, 06 Aug 2010 08:00:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<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="https://cwiki.apache.org/confluence/display/CAMEL/Release+Guide">Release
Guide</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~jstrachan">James
Strachan</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-unchanged" >h1. How to create and announce a Camel
release. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*Note*:
Make sure that you are using *JDK 6* as several camel components (like the [Web Console] for
example) now require JDK 6 <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Maven 2 Setup <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="ReleaseGuide-HowtocreateandannounceaCamelrelease."></a>How
to create and announce a Camel release.</h1>

<p><b>Note</b>: Make sure that you are using <b>JDK 6</b> as
several camel components (like the <a href="/confluence/display/CAMEL/Web+Console" title="Web
Console">Web Console</a> for example) now require JDK 6</p>

<h2><a name="ReleaseGuide-Maven2Setup"></a>Maven 2 Setup</h2>

<p>Before you deploy anything to the maven repository using Maven 2, you should configure
your &#126;/.m2/settings.xml file<br/>
so that the file permissions of the deployed artifacts are group writable.  If you do not
do this, other developers will not able to overwrite your SNAPSHOT releases with newer versions.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;settings&gt;</span>
  ...
  <span class="code-tag">&lt;servers&gt;</span>

    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache-repo<span class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span>chirino<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache-snapshots<span
class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span>chirino<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache-website<span class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span>chirino<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>

  <span class="code-tag">&lt;/servers&gt;</span>
  ...
<span class="code-tag">&lt;/settings&gt;</span>
</pre>
</div></div>

<h3><a name="ReleaseGuide-CreatingtheCamelRelease"></a>Creating the Camel
Release</h3>

<ul>
	<li>Prepare env and directory structure
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
export PROJ=apache-camel
export PROJVER=&lt;x.y.z&gt;
mkdir  $HOME/$PROJ-$PROJVER
mkdir  $HOME/$PROJ-$PROJVER/maven2
mkdir  $HOME/$PROJ-$PROJVER/maven
mkdir  $HOME/$PROJ-$PROJVER/site
</pre>
</div></div></li>
</ul>


<ul>
	<li>Grab the latest source from SVN
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
svn co https:<span class="code-comment">//svn.apache.org/repos/asf/camel/trunk camel
</span>cd camel
</pre>
</div></div></li>
</ul>


<ul>
	<li>Change the version number in:</li>
</ul>
<ol>
	<li>pom.xml - in the project root <b>and</b> all sub-projects</li>
	<li>the value of &lt;camel-version&gt; property in the root pom.xml</li>
	<li>Note: The command below will do the trick on Linux (replace for the appropriate
version).
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
find . -name pom.xml | grep -v .svn | xargs sed -i -e s/x.y-SNAPSHOT/$PROJVER/g
</pre>
</div></div>
<p>If you do this on MacOSX, you will need to:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
find . -name pom.xml | grep -v .svn | xargs sed -i "" -e s/x.y-SNAPSHOT/$PROJVER/g
</pre>
</div></div></li>
</ol>


<ul>
	<li>Let Maven build, test, package, and deploy the binaries
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn clean source:jar deploy -Drelease-repo-url=file:$HOME/$PROJ-$PROJVER/maven2 -Dm1-repo-url=file:$HOME/$PROJ-$PROJVER/maven
-Prelease,enable-schemagen
</pre>
</div></div></li>
</ul>


<ul>
	<li>Tag the release using your local workspace to a new CAMEL_X_Y label
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
svn copy ../camel https:<span class="code-comment">//svn.apache.org/repos/asf/camel/tags/camel-x.y.z
-m <span class="code-quote">"Camel x.y.z Release"</span></span>
</pre>
</div></div></li>
</ul>


<ul>
	<li>Check that the binaries look fine.</li>
</ul>


<h2><a name="ReleaseGuide-TestingtheCamelReleaseCandidate"></a>Testing the
Camel Release Candidate</h2>

<p>When folks need to test out a release candidate, the jars will not have been uploaded
to the Maven repo. This means that the example programs which use Maven will not automatically
work.</p>

<p>So whenever running the <a href="/confluence/display/CAMEL/Examples" title="Examples">Examples</a>
you need to append the following command line argument...</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn camel:run -DremoteRepo=http:<span class="code-comment">//people.apache.org/~chirino/apache-camel-1.2.0-RC1/maven2</span>
</pre>
</div></div>
<p>Assuming that the release candidate is deployed to *<a href="http://people.apache.org/~chirino/apache-camel-1.2.0-RC1/maven2"
class="external-link" rel="nofollow">http://people.apache.org/~chirino/apache-camel-1.2.0-RC1/maven2</a></p>

<h2><a name="ReleaseGuide-AnnouncingtheCamelRelease"></a>Announcing the
Camel Release</h2>

<ol>
	<li>Perform a <a href="https://issues.apache.org/activemq/secure/project/ManageVersions.jspa?pid=11020"
class="external-link" rel="nofollow">release in JIRA</a> and create a new release
version in JIRA</li>
	<li>Create a download page for the release in the WIKI similar like the <a href="/confluence/display/CAMEL/Camel+2.0.0+Release"
title="Camel 2.0.0 Release">Camel 2.0.0 Release</a>. There could be already a release
notes page in the <a href="/confluence/display/CAMEL/In+Progress" title="In Progress">In
Progress</a> folder - if so just edit it and change its parent to be the <a href="/confluence/display/CAMEL/Download"
title="Download">Download</a> page. Otherwise add a new child page in <a href="/confluence/display/CAMEL/Download"
title="Download">Download</a> and update the <a href="/confluence/display/CAMEL/Download"
title="Download">Download</a> page to show the latest release version.</li>
	<li>Update the <a href="/confluence/display/CAMEL/Download" title="Download">Download</a>
page to refer to the latest release distributions (search &amp; replace the version numbers
mostly <img class="emoticon" src="/confluence/images/icons/emoticons/smile.gif" height="20"
width="20" align="absmiddle" alt="" border="0"/></li>
	<li>Update the <a href="/confluence/display/CAMEL/Xml+Reference" title="Xml Reference">Xml
Reference</a> page with a link to the HTML and XSD</li>
	<li>Update the <a href="/confluence/display/CAMEL/Manual" title="Manual">Manual</a>
page with a link to the PDF</li>
	<li>Mail the <a href="mailto:camel-user@activemq.apache.org" class="external-link"
rel="nofollow">dev</a> &amp; <a href="mailto:camel-user@activemq.apache.org"
class="external-link" rel="nofollow">user</a> lists</li>
	<li><a href="http://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=CAMEL"
class="external-link" rel="nofollow">Post</a> a news entry on the WIKI which <b>links
to the release page</b> so folks can download it!</li>
	<li>perform a full <a href="http://cwiki.apache.org/confluence/admin/plugins.action?pluginKey=confluence.extra.autoexport"
class="external-link" rel="nofollow">auto-export plugin export of the wiki</a> to
static html to work around the bug with autoexport plugin not updating the <a href="http://cwiki.apache.org/CAMEL/index.html"
class="external-link" rel="nofollow">index page when you post the news item</a></li>
</ol>
<ul>
	<li>to run autoexport: you go to admin -&gt; plugins -&gt; auto-export-plugin
-&gt; configure plugin. Select ActiveMQ from the list, then click on Export Space(s).
Be very careful so you don't mess up anyone else's wikis!</li>
</ul>
<ol>
	<li>Have a beer&#33; <img class="emoticon" src="/confluence/images/icons/emoticons/smile.gif"
height="20" width="20" align="absmiddle" alt="" border="0"/></li>
</ol>


    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Release+Guide">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=68287&revisedVersion=33&originalVersion=32">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Release+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message