<html>
<head>
<base href="https://cwiki.apache.org/confluence">
<link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CAMEL&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 ~/.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"><settings></span>
...
<span class="code-tag"><servers></span>
<span class="code-tag"><server></span>
<span class="code-tag"><id></span>apache-repo<span class="code-tag"></id></span>
<span class="code-tag"><username></span>chirino<span class="code-tag"></username></span>
<span class="code-tag"><directoryPermissions></span>775<span
class="code-tag"></directoryPermissions></span>
<span class="code-tag"><filePermissions></span>664<span
class="code-tag"></filePermissions></span>
<span class="code-tag"></server></span>
<span class="code-tag"><server></span>
<span class="code-tag"><id></span>apache-snapshots<span
class="code-tag"></id></span>
<span class="code-tag"><username></span>chirino<span class="code-tag"></username></span>
<span class="code-tag"><directoryPermissions></span>775<span
class="code-tag"></directoryPermissions></span>
<span class="code-tag"><filePermissions></span>664<span
class="code-tag"></filePermissions></span>
<span class="code-tag"></server></span>
<span class="code-tag"><server></span>
<span class="code-tag"><id></span>apache-website<span class="code-tag"></id></span>
<span class="code-tag"><username></span>chirino<span class="code-tag"></username></span>
<span class="code-tag"><directoryPermissions></span>775<span
class="code-tag"></directoryPermissions></span>
<span class="code-tag"><filePermissions></span>664<span
class="code-tag"></filePermissions></span>
<span class="code-tag"></server></span>
<span class="code-tag"></servers></span>
...
<span class="code-tag"></settings></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=<x.y.z>
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 <camel-version> 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 & 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> & <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 -> plugins -> auto-export-plugin
-> 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! <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&showCommentArea=true#addcomment">Add
Comment</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
|