geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Geronimo Project Management > Geronimo 3.0.x Release Process
Date Tue, 21 May 2013 03:09:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=GMOxPMGT&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/GMOxPMGT/Geronimo+3.0.x+Release+Process">Geronimo
3.0.x Release Process</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~xiaming">Forrest
Xia</a>
    </h4>
        <br/>
                         <h4>Changes (5)</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" >Reference [http://www.apache.org/dev/publishing-maven-artifacts.html]
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Have <span class="diff-changed-words">3.0.<span
class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">0</span><span
class="diff-added-chars"style="background-color: #dfd;">1</span></span> release
as an example. <br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Updates JIRAs in RELEASE_NOTES.txt
(bugs, improvement, new features, known issues, and limitations) <br>* Updates the copyright
year number in NOTICE files <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Updates some un-released modules&#39; versions to 3.0.1. Refer to this ant scripts to
update the versions in batch. <br>{code:xml} <br>&lt;target name=&quot;manualupdate-versions&quot;&gt;
<br>    &lt;echo&gt;Updating un-released modules&#39; versions manually&lt;/echo&gt;
<br>    &lt;replace dir=&quot;${user.dir}&quot; token=&quot;version&gt;3.0.1-SNAPSHOT&quot;
value=&quot;version&gt;3.0.1&quot; summary=&quot;yes&quot;&gt; <br>
       &lt;include name=&quot;assemblies/geronimo-jetty8-javaee6/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;assemblies/geronimo-jetty8-javaee6-web/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;assemblies/geronimo-jetty8-minimal/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;framework/modules/geronimo-config-groovy-transformer/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugingroups/clustering-jetty/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugingroups/clustering-tomcat/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugingroups/webservices-cxf/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/activemq/activemq-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/activemq/activemq-webconsole/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/activemq/activemq-webconsole-jetty/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/activemq/activemq-webconsole-tomcat/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/axis/axis-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/ca-helper/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/ca-helper/ca-helper-jetty/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/ca-helper/ca-helper-tomcat/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/ca-helper/geronimo-ca-helper/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/clustering/clustering-it/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/clustering/clustering-it/clustering-test/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/clustering/clustering-it/customer-jetty/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/clustering/clustering-it/plugin-farm-it/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/clustering/clustering-it/sample-datasource/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/connector-1_6/geronimo-connector-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/console/console-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/console/console-tomcat-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/corba/corba-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/cxf/cxf-jaxws-tools/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/cxf/cxf-tools/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/cxf/geronimo-cxf-tools/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/jetty8/jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/monitoring/mconsole-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/monitoring/mconsole-jetty-server/mconsole-itest-simple/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/openejb/geronimo-openejb-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/uddi/uddi-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/wab/web-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/wab/web-tomcat-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/welcome/welcome-jetty-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/welcome/welcome-tomcat-server/pom.xml&quot;
/&gt; <br>        &lt;include name=&quot;plugins/wink/wink-tomcat-server/pom.xml&quot;
/&gt; <br>    &lt;/replace&gt; <br>&lt;/target&gt; <br>{code}
<br></td></tr>
            <tr><td class="diff-unchanged" >* Commit them <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >h3. 4. mvn release:prepare \-DdryRun=true
<span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">\-Pnoclustering</span>
<span class="diff-added-words"style="background-color: #dfd;">\-Pall-subprojects</span>
<br></td></tr>
            <tr><td class="diff-unchanged" > <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* This will update the versions in
branch 3.0 and create the release tag <br>** Manually remove all *.log files in the
source code root folder, otherwise those might be packed into the source code zip files. <br></td></tr>
            <tr><td class="diff-changed-lines" >** mvn release:clean <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">\-Pnoclustering</span>
<span class="diff-added-words"style="background-color: #dfd;">\-Pall-subprojects</span>
<br></td></tr>
            <tr><td class="diff-changed-lines" >** mvn release:prepare <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">\-Pnoclustering</span>
<span class="diff-added-words"style="background-color: #dfd;">\-Pall-subprojects</span>
<br></td></tr>
            <tr><td class="diff-unchanged" >*** you need &quot;mvn clean install
\-Dstage=bootstrap&quot; in midway <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Geronimo3.0.xReleaseProcess-Geronimo3.0.xReleaseProcess"></a>Geronimo
3.0.x Release Process</h1>

<p>Reference <a href="http://www.apache.org/dev/publishing-maven-artifacts.html"
class="external-link" rel="nofollow">http://www.apache.org/dev/publishing-maven-artifacts.html</a></p>

<p>Have 3.0.1 release as an example.</p>


<h2><a name="Geronimo3.0.xReleaseProcess-ReleaseChecklist"></a>Release Checklist</h2>

<h3><a name="Geronimo3.0.xReleaseProcess-1.BettertouseanonWindowssystemtocreatethereleasecandidate"></a>1.
Better to use a non-Windows system to create the release candidate</h3>

<ul>
	<li>Dos line endings makes all unix shell scripts unexecutable
	<ul>
		<li><a href="https://issues.apache.org/jira/browse/GERONIMO-5440" class="external-link"
rel="nofollow">https://issues.apache.org/jira/browse/GERONIMO-5440</a></li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-2.mvnrat%3Acheck"></a>2. mvn rat:check</h3>

<ul>
	<li>Refer to the same section in <a href="/confluence/display/GMOxPMGT/Geronimo+2.1.x+Release+Process"
title="Geronimo 2.1.x Release Process">Geronimo 2.1.x Release Process</a></li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-3.Manuallyupdatesomefiles%3A"></a>3.
Manually update some files:</h3>

<ul>
	<li>Updates all pom.xml files to search "SNAPSHOT" to ensure there is no snapshot dependencies</li>
	<li>Updates plugin-list url in $SRC\framework\configs\plugin\pom.xml</li>
	<li>Updates ##VERSION## in README.txt and RELEASE_NOTES.txt in source code root folder
and $SRC\framework\configs\karaf-framework</li>
	<li>Updates JIRAs in RELEASE_NOTES.txt (bugs, improvement, new features, known issues,
and limitations)</li>
	<li>Updates the copyright year number in NOTICE files</li>
	<li>Updates some un-released modules' versions to 3.0.1. Refer to this ant scripts
to update the versions in batch.
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;target name=<span class="code-quote">"manualupdate-versions"</span>&gt;</span>
    <span class="code-tag">&lt;echo&gt;</span>Updating un-released modules'
versions manually<span class="code-tag">&lt;/echo&gt;</span>
    <span class="code-tag">&lt;replace dir=<span class="code-quote">"${user.dir}"</span>
token=<span class="code-quote">"version&gt;</span>3.0.1-SNAPSHOT"</span>
value=<span class="code-quote">"version&gt;3.0.1"</span> summary=<span
class="code-quote">"yes"</span>&gt;
        <span class="code-tag">&lt;include name=<span class="code-quote">"assemblies/geronimo-jetty8-javaee6/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"assemblies/geronimo-jetty8-javaee6-web/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"assemblies/geronimo-jetty8-minimal/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"framework/modules/geronimo-config-groovy-transformer/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugingroups/clustering-jetty/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugingroups/clustering-tomcat/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugingroups/webservices-cxf/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/activemq/activemq-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/activemq/activemq-webconsole/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/activemq/activemq-webconsole-jetty/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/activemq/activemq-webconsole-tomcat/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/axis/axis-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/ca-helper/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/ca-helper/ca-helper-jetty/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/ca-helper/ca-helper-tomcat/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/ca-helper/geronimo-ca-helper/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/clustering/clustering-it/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/clustering/clustering-it/clustering-test/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/clustering/clustering-it/customer-jetty/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/clustering/clustering-it/plugin-farm-it/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/clustering/clustering-it/sample-datasource/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/connector-1_6/geronimo-connector-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/console/console-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/console/console-tomcat-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/corba/corba-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/cxf/cxf-jaxws-tools/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/cxf/cxf-tools/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/cxf/geronimo-cxf-tools/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/jetty8/jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/monitoring/mconsole-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/monitoring/mconsole-jetty-server/mconsole-itest-simple/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/openejb/geronimo-openejb-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/uddi/uddi-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/wab/web-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/wab/web-tomcat-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/welcome/welcome-jetty-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/welcome/welcome-tomcat-server/pom.xml"</span>
/&gt;</span>
        <span class="code-tag">&lt;include name=<span class="code-quote">"plugins/wink/wink-tomcat-server/pom.xml"</span>
/&gt;</span>
    <span class="code-tag">&lt;/replace&gt;</span>
<span class="code-tag">&lt;/target&gt;</span>
</pre>
</div></div></li>
	<li>Commit them</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-4.mvnrelease%3Aprepare%5CDdryRun%3Dtrue%5CPallsubprojects"></a>4.
mvn release:prepare &#45;DdryRun=true &#45;Pall-subprojects</h3>


<h3><a name="Geronimo3.0.xReleaseProcess-5.ReleasePrepare"></a>5. Release
Prepare</h3>

<ul>
	<li>Before doing release prepare, clean up you local repository to avoid the bad staging
release artifacts to be included in the geronimo release. see <a href="http://apache-geronimo.328035.n3.nabble.com/Bad-2-2-1-release-td2194498.html"
class="external-link" rel="nofollow">reference</a>.</li>
	<li>This will update the versions in branch 3.0 and create the release tag
	<ul>
		<li>Manually remove all *.log files in the source code root folder, otherwise those
might be packed into the source code zip files.</li>
		<li>mvn release:clean &#45;Pall-subprojects</li>
		<li>mvn release:prepare &#45;Pall-subprojects
		<ul>
			<li>you need "mvn clean install &#45;Dstage=bootstrap" in midway</li>
		</ul>
		</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-6.ReleasePerform"></a>6. Release
Perform</h3>

<ul>
	<li>This will stage the release artifacts,
	<ul>
		<li>mvn release:perform &#45;Pall-subprojects</li>
	</ul>
	</li>
	<li>In Apache nexus repository, click "close" <a href="https://repository.apache.org/index.html#welcome"
class="external-link" rel="nofollow">https://repository.apache.org/index.html#welcome</a></li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-7.Vote"></a>7. Vote</h3>

<ul>
	<li>Vote in mailing list, meanwhile wait TCK results.  Sample release vote email as
following:</li>
</ul>


<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b><a
href="/confluence/pages/createpage.action?spaceKey=GMOxPMGT&amp;title=VOTE&amp;linkCreation=true&amp;fromPageId=27851236"
class="createlink">VOTE</a> Release Geronimo 3.0.0</b></div><div class="codeContent
panelContent">
<pre class="code-java">
Hi Devs,

With correction of legal files, here we have a <span class="code-keyword">new</span>
release candidate <span class="code-keyword">for</span> vote. Please help vote
at your earliest convenient time.

The server code up <span class="code-keyword">for</span> vote is:
https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/geronimo/3.0.0/geronimo-3.0.0-source-release.tar.gz
</span>https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/geronimo/3.0.0/geronimo-3.0.0-source-release.zip
</span>
The binary code up <span class="code-keyword">for</span> vote is:
Java EE 6 Full Profile Tomcat Assemblies:
https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-javaee6/3.0.0/geronimo-tomcat7-javaee6-3.0.0-bin.tar.gz
</span>https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-javaee6/3.0.0/geronimo-tomcat7-javaee6-3.0.0-bin.zip
</span>
Java EE 6 Web Profile Tomcat Assemblies:
https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-javaee6-web/3.0.0/geronimo-tomcat7-javaee6-web-3.0.0-bin.tar.gz
</span>https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-javaee6-web/3.0.0/geronimo-tomcat7-javaee6-web-3.0.0-bin.zip
</span>
Little-G Tomcat Assemblies:
https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-minimal/3.0.0/geronimo-tomcat7-minimal-3.0.0-bin.tar.gz
</span>https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013/org/apache/geronimo/assemblies/geronimo-tomcat7-minimal/3.0.0/geronimo-tomcat7-minimal-3.0.0-bin.zip
</span>
Staging repo is:
https:<span class="code-comment">//repository.apache.org/content/repositories/orgapachegeronimo-013
</span>
The tag has created at:
http:<span class="code-comment">//svn.apache.org/repos/asf/geronimo/server/tags/geronimo-3.0.0
</span>
Java EE 6 TCKs all passed!

Vote will be at least open <span class="code-keyword">for</span> 72 hours.
[ ] +1  approve
[ ] +0  no opinion
[ ] -1  disapprove (and reason why)
</pre>
</div></div> 

<ul>
	<li>Post "<a href="/confluence/pages/createpage.action?spaceKey=GMOxPMGT&amp;title=VOTE+PASS&amp;linkCreation=true&amp;fromPageId=27851236"
class="createlink">VOTE PASS</a>xxx" in the subject, and summarize the vote status
in the body when vote close.</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-8.Releaseartifacts"></a>8. Release
artifacts</h3>

<ul>
	<li>In Apache nexus, click "release"
	<ul>
		<li>the artifacts will be synchronized to maven central repository in some time.</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-9.Updategeronimoplugins.xml"></a>9.
Update geronimo-plugins.xml</h3>

<ul>
	<li>delete your local &#126;/.m2/repository/geronimo-plugins.xml</li>
	<li>build tag 3.0.0, which will generate a new geronimo-plugins.xml in &#126;/.m2/repository/</li>
	<li>do the actions as described here &#8211; <a href="https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html"
class="external-link" rel="nofollow">https://cwiki.apache.org/GMOxPMGT/geronimo-server-release-process.html</a>
&#8211; in step 12.</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-10.Checkinartifactsintodistsvnpubsub"></a>10.
Check-in artifacts into dist svnpubsub</h3>

<ul>
	<li>Check-in the artifacts into <a href="https://dist.apache.org/repos/dist/release/geronimo/"
class="external-link" rel="nofollow">https://dist.apache.org/repos/dist/release/geronimo/</a>
	<ul>
		<li>Update <a href="https://svn.apache.org/repos/asf/geronimo/KEYS" class="external-link"
rel="nofollow">https://svn.apache.org/repos/asf/geronimo/KEYS</a> and <a href="https://dist.apache.org/repos/dist/release/geronimo/KEYS"
class="external-link" rel="nofollow">https://dist.apache.org/repos/dist/release/geronimo/KEYS</a>
with your public key (if it is not there).</li>
		<li>Check-in the artifacts and their checksums (*.tar.gz.md5, *.zip.md5, *.tar.gz.sha1,
*.zip.sha1, *.asc) into <a href="https://dist.apache.org/repos/dist/release/geronimo/3.0.0"
class="external-link" rel="nofollow">https://dist.apache.org/repos/dist/release/geronimo/3.0.0</a></li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-11.AnnounceinMailinglistandPostnewsinhomepage"></a>11.
Announce in Mailing list and Post news in homepage</h3>

<ul>
	<li>Modify <a href="http://geronimo.apache.org/downloads.html" class="external-link"
rel="nofollow">http://geronimo.apache.org/downloads.html</a>.</li>
	<li>Add a new page list the artifacts that can be downloaded.</li>
	<li>Modify frontpage and add a news.</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-12.Updatethesecurityadvisorypage"></a>12.
Update the security advisory page</h3>

<ul>
	<li>Add a section to the new release at <a href="https://cwiki.apache.org/confluence/display/GMOxSITE/3.0.x+Security+Report"
class="external-link" rel="nofollow">https://cwiki.apache.org/confluence/display/GMOxSITE/3.0.x+Security+Report</a></li>
	<li>If there are outstanding advisories for vulnerabilities fixed by this release,
move the vulnerability descriptions to the new release section.</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-13.Manauallyupdatefilesinthe3.0branchafterrelease"></a>13.
Manaually update files in the 3.0 branch after release</h3>

<ul>
	<li>update 3.0.1-SNAPSHOT to ##VERSION## in README.txt and RELEASE_NOTES.txt</li>
	<li>remove the JIRA list in RELEASE_NOTES.txt (bugs, improvement, new features, limitations)</li>
	<li>search "3.0.0" and change them to "3.0.1-SNAPSHOT"</li>
	<li>Update artifact-alias, add version 3.0.0 in artifact-alias after 3.0.0 release
	<ul>
		<li>/framework/configs/pom.xml</li>
		<li>/plugins/client/pom.xml</li>
		<li>/plugins/corba/client-corba-yoko/pom.xml</li>
		<li>/plugins/pom.xml</li>
	</ul>
	</li>
	<li>commit them</li>
</ul>





<hr />
<h2><a name="Geronimo3.0.xReleaseProcess-Prerequisite"></a>Prerequisite</h2>

<h3><a name="Geronimo3.0.xReleaseProcess-1.UseGenesis2.0asaparentpom"></a>1.
Use Genesis 2.0 as a parent pom</h3>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag">&lt;parent&gt;</span>
  <span class="code-tag">&lt;groupId&gt;</span>org.apache.geronimo.genesis<span
class="code-tag">&lt;/groupId&gt;</span>
  <span class="code-tag">&lt;artifactId&gt;</span>genesis-java5-flava<span
class="code-tag">&lt;/artifactId&gt;</span>
  <span class="code-tag">&lt;version&gt;</span>2.0<span class="code-tag">&lt;/version&gt;</span>
<span class="code-tag">&lt;/parent&gt;</span>
</pre>
</div></div>

<ul>
	<li>genesis-java5-flava-2.0.pom
	<ul>
		<li>genesis-default-flava-2.0.pom
		<ul>
			<li>genesis-2.0.pom
			<ul>
				<li>apache-6.pom</li>
			</ul>
			</li>
		</ul>
		</li>
	</ul>
	</li>
</ul>


<h3><a name="Geronimo3.0.xReleaseProcess-2.UseMaven3.0.3"></a>2. Use Maven
3.0.3</h3>

<ul>
	<li>Enable Apache Servers (refer: <a href="http://maven.apache.org/developers/committer-settings.html"
class="external-link" rel="nofollow">http://maven.apache.org/developers/committer-settings.html</a>)</li>
</ul>


<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"><span class="code-comment">&lt;!-- To publish a
snapshot of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache.snapshots.https<span
class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;password&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span></span>
<span class="code-tag">&lt;/password&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To publish a
website of some part of Maven --&gt;</span></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> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To stage a release
of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache.releases.https<span
class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;password&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP PASSWORD --&gt;</span></span>
<span class="code-tag">&lt;/password&gt;</span>
    <span class="code-tag">&lt;/server&gt;</span>
    <span class="code-tag"><span class="code-comment">&lt;!-- To stage a website
of some part of Maven --&gt;</span></span>
    <span class="code-tag">&lt;server&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>stagingSite<span class="code-tag">&lt;/id&gt;</span>
<span class="code-tag"><span class="code-comment">&lt;!-- must match hard-coded
repository identifier in site:stage-deploy --&gt;</span></span>
      <span class="code-tag">&lt;username&gt;</span> <span class="code-tag"><span
class="code-comment">&lt;!-- YOUR APACHE LDAP USERNAME --&gt;</span></span>
<span class="code-tag">&lt;/username&gt;</span>
      <span class="code-tag">&lt;filePermissions&gt;</span>664<span
class="code-tag">&lt;/filePermissions&gt;</span>
      <span class="code-tag">&lt;directoryPermissions&gt;</span>775<span
class="code-tag">&lt;/directoryPermissions&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>

<p>reference:<br/>
It is highly recommended to use Maven's password encryption capabilities for your passwords.<a
href="http://maven.apache.org/guides/mini/guide-encryption.html" class="external-link" rel="nofollow">http://maven.apache.org/guides/mini/guide-encryption.html</a></p>



<h3><a name="Geronimo3.0.xReleaseProcess-3.SetupPGPKeys%28fortheoneswhobethereleasemanagerthefirsttime%29"></a>3.
Setup PGP Keys (for the ones who be the release manager the first time)</h3>

<ul>
	<li>Download gnupg2</li>
	<li>Generate your PGP Key (refer: <a href="http://www.apache.org/dev/openpgp.html"
class="external-link" rel="nofollow">http://www.apache.org/dev/openpgp.html</a>)
so that maven-release-plugin can sign your built artifacts when do release:perform
	<ul>
		<li>How To Avoid SHA-1</li>
		<li>How To Generate a Strong Key</li>
	</ul>
	</li>
	<li>Update Maven's settings.xml with following:
<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;profiles&gt;</span>
    <span class="code-tag">&lt;profile&gt;</span>
      <span class="code-tag">&lt;id&gt;</span>apache-release<span class="code-tag">&lt;/id&gt;</span>
      <span class="code-tag">&lt;properties&gt;</span>
        <span class="code-tag">&lt;gpg.passphrase&gt;</span> <span
class="code-tag"><span class="code-comment">&lt;!-- YOUR KEY PASSPHRASE --&gt;</span></span>
<span class="code-tag">&lt;/gpg.passphrase&gt;</span>
      <span class="code-tag">&lt;/properties&gt;</span>
    <span class="code-tag">&lt;/profile&gt;</span>
  <span class="code-tag">&lt;/profiles&gt;</span>
  ...
<span class="code-tag">&lt;/settings&gt;</span>
</pre>
</div></div></li>
	<li>Meanwhile, append your public key to <a href="https://svn.apache.org/repos/asf/geronimo/KEYS"
class="external-link" rel="nofollow">https://svn.apache.org/repos/asf/geronimo/KEYS</a>
and <a href="https://dist.apache.org/repos/dist/release/geronimo/KEYS" class="external-link"
rel="nofollow">https://dist.apache.org/repos/dist/release/geronimo/KEYS</a> so that
user can verify the artifacts you released.
	<ul>
		<li>gpg &#45;-gen-key
		<ul>
			<li>RSA and RSA (default), 4096</li>
		</ul>
		</li>
		<li>gpg &#45;-list-sigs "xxxxxx" &amp;&amp; gpg &#45;-armor &#45;-export
"xxxxxx" &gt; xxxxxx.key
		<ul>
			<li>"cat" your public key to above KEYS file</li>
		</ul>
		</li>
	</ul>
	</li>
</ul>



<p>reference:<br/>
<a href="http://maven.apache.org/developers/release/pmc-gpg-keys.html" class="external-link"
rel="nofollow">http://maven.apache.org/developers/release/pmc-gpg-keys.html</a></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/GMOxPMGT/Geronimo+3.0.x+Release+Process">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=27851236&revisedVersion=7&originalVersion=6">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+3.0.x+Release+Process?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message