karaf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Karaf > Release Guide
Date Mon, 12 Jul 2010 21:30:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/3/_/styles/combined.css?spaceKey=KARAF&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/KARAF/Release+Guide">Release
Guide</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~jgoodyear">Jamie
Goodyear</a>
    </h4>
        <div id="versionComment">
        <b>Comment:</b>
        Initial notes<br />
    </div>
        <br/>
                         <h4>Changes (2)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h1.
How to create and announce a Karaf release. <br> <br>h3. Required tools, practices
and resources <br> <br>* Use Maven 2.0.11 or greater. <br>* JDK 1.5 (We
try to maintain compatibility) <br>* Each and every release must be [SIGNED|http://www.apache.org/dev/release-signing.html]
<br>* Your public key should also be cross-signed by other Apache committers (not required,
but suggested) <br>* Make sure you have all Apache servers defined in your [settings.xml|http://maven.apache.org/developers/committer-settings.html]
<br> <br>h3. Prepare <br> <br>To prepare and perform a release you
must be at least at Apache Karaf Committer. <br> <br>Your settings.xml should
look like: <br> <br>{code} <br>&lt;settings&gt; <br>  ...
<br>  &lt;profiles&gt; <br>    &lt;profile&gt; <br>    
 &lt;id&gt;release&lt;/id&gt; <br>      &lt;properties&gt; <br>
       &lt;gpg.passphrase&gt; &lt;!-- YOUR KEY PASSPHRASE --&gt; &lt;/gpg.passphrase&gt;
<br>      &lt;/properties&gt; <br>    &lt;/profile&gt; <br>
 &lt;/profiles&gt; <br>  ... <br>  &lt;servers&gt; <br>
   &lt;!-- To publish a snapshot of some part of Maven --&gt; <br>    &lt;server&gt;
<br>      &lt;id&gt;apache.snapshots.https&lt;/id&gt; <br>   
  &lt;username&gt; &lt;!-- YOUR APACHE SVN USERNAME --&gt; &lt;/username&gt;
<br>      &lt;password&gt; &lt;!-- YOUR APACHE SVN PASSWORD --&gt; &lt;/password&gt;
<br>    &lt;/server&gt; <br>    &lt;!-- To stage a release of some
part of Maven --&gt; <br>    &lt;server&gt; <br>      &lt;id&gt;apache.releases.https&lt;/id&gt;
<br>      &lt;username&gt; &lt;!-- YOUR APACHE SVN USERNAME --&gt; &lt;/username&gt;
<br>      &lt;password&gt; &lt;!-- YOUR APACHE SVN PASSWORD --&gt; &lt;/password&gt;
<br>    &lt;/server&gt; <br>    ... <br>  &lt;/servers&gt;
<br>&lt;/settings&gt; <br>{code} <br> <br>h3. Staging the
Release Candidate <br> <br># Grab the latest source <br>{code} <br>svn
co https://svn.apache.org/repos/asf/karaf/trunk <br>{code} <br># Prepare your
POMs for release: <br>## make sure there is no snapshots in the POMs to be released
<br>## make sure everything builds fine <br>## check that your POMs will not lose
content when they are rewritten during the release process: <br>{code} <br>mvn
release:prepare -DdryRun <br>{code} <br>Please diff the original pom.xml with
the one named pom.xml.tag to see if the license or any other info has been removed. This has
been known to happen if the starting &lt;project&gt; tag is not a single line. The
only things that should be different between these files are the &lt;version&gt; and
&lt;scm&gt; elements. If there are any other changes, you must fix the original pom.xml
file and commit before proceeding with the release. <br>## publish a snapshot <br>{code}
<br>$ mvn deploy <br>... <br>[INFO] [deploy:deploy] <br>[INFO] Retrieving
previous build number from apache.snapshots.https <br>... <br>{code} <br>If
you experience an error during deployment like a HTTP 401 check your settings for the required
server entries as outlined in the Prerequisites <br>Be sure that the generated artifacts
respect the Apache release rules: NOTICE and LICENSE files should be present in the META-INF
directory within the jar. For sources artifacts, be sure that your POM does not use the maven-source-plugin:2.0.3
which is broken. The recommended version at this time is 2.0.4 <br>You should verify
the deployment under the snapshot repository on Apache <br># Prepare the release <br>{code}
<br>mvn release:clean <br>mvn release:prepare <br>{code} <br># Stage
the release for a vote <br>{code} <br>mvn release:perform <br>{code} <br>*
The release will automatically be inserted into a temporary staging repository for you, see
the Nexus staging documentation for full details <br>* You can continue to use mvn release:prepare
and mvn release:perform on other sub-projects as necessary on the same machine and they will
be combined in the same staging repository <br># Close the staging repository <br></td></tr>
            <tr><td class="diff-unchanged" >TODO <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">#
Verify the staged artifacts  <br>TODO <br> <br>h3. Starting the vote <br>
<br>Propose a vote on the dev list with the closed issues, the issues left, and the
staging repository - for example: <br>{code} <br>TODO <br>{code} <br>
<br>h3. Wait for the Results <br> <br>TODO <br> <br>h3. Canceling
the Release <br> <br>TODO <br> <br>h3. Promoting the Release <br>
<br>TODO <br> <br>h3. Update JIRA <br> <br>TODO <br> <br>h3.
Announcing the Karaf Release <br> <br>TODO <br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="ReleaseGuide-HowtocreateandannounceaKarafrelease."></a>How
to create and announce a Karaf release.</h1>

<h3><a name="ReleaseGuide-Requiredtools%2Cpracticesandresources"></a>Required
tools, practices and resources</h3>

<ul>
	<li>Use Maven 2.0.11 or greater.</li>
	<li>JDK 1.5 (We try to maintain compatibility)</li>
	<li>Each and every release must be <a href="http://www.apache.org/dev/release-signing.html"
class="external-link" rel="nofollow">SIGNED</a></li>
	<li>Your public key should also be cross-signed by other Apache committers (not required,
but suggested)</li>
	<li>Make sure you have all Apache servers defined in your <a href="http://maven.apache.org/developers/committer-settings.html"
class="external-link" rel="nofollow">settings.xml</a></li>
</ul>


<h3><a name="ReleaseGuide-Prepare"></a>Prepare</h3>

<p>To prepare and perform a release you must be at least at Apache Karaf Committer.</p>

<p>Your settings.xml should look like:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
&lt;settings&gt;
  ...
  &lt;profiles&gt;
    &lt;profile&gt;
      &lt;id&gt;release&lt;/id&gt;
      &lt;properties&gt;
        &lt;gpg.passphrase&gt; &lt;!-- YOUR KEY PASSPHRASE --&gt; &lt;/gpg.passphrase&gt;
      &lt;/properties&gt;
    &lt;/profile&gt;
  &lt;/profiles&gt;
  ...
  &lt;servers&gt;
    &lt;!-- To publish a snapshot of some part of Maven --&gt;
    &lt;server&gt;
      &lt;id&gt;apache.snapshots.https&lt;/id&gt;
      &lt;username&gt; &lt;!-- YOUR APACHE SVN USERNAME --&gt; &lt;/username&gt;
      &lt;password&gt; &lt;!-- YOUR APACHE SVN PASSWORD --&gt; &lt;/password&gt;
    &lt;/server&gt;
    &lt;!-- To stage a release of some part of Maven --&gt;
    &lt;server&gt;
      &lt;id&gt;apache.releases.https&lt;/id&gt;
      &lt;username&gt; &lt;!-- YOUR APACHE SVN USERNAME --&gt; &lt;/username&gt;
      &lt;password&gt; &lt;!-- YOUR APACHE SVN PASSWORD --&gt; &lt;/password&gt;
    &lt;/server&gt;
    ...
  &lt;/servers&gt;
&lt;/settings&gt;
</pre>
</div></div>

<h3><a name="ReleaseGuide-StagingtheReleaseCandidate"></a>Staging the Release
Candidate</h3>

<ol>
	<li>Grab the latest source
<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/karaf/trunk</span>
</pre>
</div></div></li>
	<li>Prepare your POMs for release:
	<ol>
		<li>make sure there is no snapshots in the POMs to be released</li>
		<li>make sure everything builds fine</li>
		<li>check that your POMs will not lose content when they are rewritten during the
release process:
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn release:prepare -DdryRun
</pre>
</div></div>
<p>Please diff the original pom.xml with the one named pom.xml.tag to see if the license
or any other info has been removed. This has been known to happen if the starting &lt;project&gt;
tag is not a single line. The only things that should be different between these files are
the &lt;version&gt; and &lt;scm&gt; elements. If there are any other changes,
you must fix the original pom.xml file and commit before proceeding with the release.</p></li>
		<li>publish a snapshot
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
$ mvn deploy
...
[INFO] [deploy:deploy]
[INFO] Retrieving previous build number from apache.snapshots.https
...
</pre>
</div></div>
<p>If you experience an error during deployment like a HTTP 401 check your settings
for the required server entries as outlined in the Prerequisites<br/>
Be sure that the generated artifacts respect the Apache release rules: NOTICE and LICENSE
files should be present in the META-INF directory within the jar. For sources artifacts, be
sure that your POM does not use the maven-source-plugin:2.0.3 which is broken. The recommended
version at this time is 2.0.4<br/>
You should verify the deployment under the snapshot repository on Apache</p></li>
	</ol>
	</li>
	<li>Prepare the release
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn release:clean
mvn release:prepare
</pre>
</div></div></li>
	<li>Stage the release for a vote
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
mvn release:perform
</pre>
</div></div></li>
</ol>
<ul>
	<li>The release will automatically be inserted into a temporary staging repository
for you, see the Nexus staging documentation for full details</li>
	<li>You can continue to use mvn release:prepare and mvn release:perform on other sub-projects
as necessary on the same machine and they will be combined in the same staging repository</li>
</ul>
<ol>
	<li>Close the staging repository<br/>
TODO</li>
	<li>Verify the staged artifacts<br/>
TODO</li>
</ol>


<h3><a name="ReleaseGuide-Startingthevote"></a>Starting the vote</h3>

<p>Propose a vote on the dev list with the closed issues, the issues left, and the staging
repository - for example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
TODO
</pre>
</div></div>

<h3><a name="ReleaseGuide-WaitfortheResults"></a>Wait for the Results</h3>

<p>TODO</p>

<h3><a name="ReleaseGuide-CancelingtheRelease"></a>Canceling the Release</h3>

<p>TODO</p>

<h3><a name="ReleaseGuide-PromotingtheRelease"></a>Promoting the Release</h3>

<p>TODO</p>

<h3><a name="ReleaseGuide-UpdateJIRA"></a>Update JIRA</h3>

<p>TODO</p>

<h3><a name="ReleaseGuide-AnnouncingtheKarafRelease"></a>Announcing the
Karaf Release</h3>

<p>TODO</p>
    </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/KARAF/Release+Guide">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=22872260&revisedVersion=2&originalVersion=1">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/KARAF/Release+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message