blob: c424da5c06e04f2685e201c0aa7f2e2821a98489 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<!-- $PAGETITLE -->
<TITLE>OpenEJB - OpenEJB Release Process</TITLE>
<LINK href="http://openejb.apache.org/all.css" rel="stylesheet" type="text/css">
<!--[if IE]><link rel="stylesheet" type="text/css" media="screen, projection" href="openejb.apache.org/ie.css"><![endif]-->
<LINK rel="SHORTCUT ICON" href="http://openejb.apache.org/images/favicon.ico">
<META http-equiv="Content-Type" content="text/html;charset=UTF-8">
<SCRIPT language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"></SCRIPT>
<SCRIPT language="javascript" src="http://openejb.apache.org/tweet/jquery.tweet.js" type="text/javascript"></SCRIPT>
<SCRIPT type="text/javascript">
$(document).ready(function(){
$(".tweet").tweet({
avatar_size: 32,
count: 4,
fetch:25,
username: "openejb",
list: "contributors",
template:"{avatar}{text}",
filter: function(t){ return /openejb/i.test(t["tweet_raw_text"]); },
loading_text: "loading list..."
});
});
</SCRIPT>
</HEAD>
<BODY>
<!-- Delay the loading of the external javascript file needed for labels (as it takes too long to load and visibly holds loading of the page body) -->
<!-- To do this without javascript errors over undefined functions, we need to declare stubs here (that are overrided later by the proper implementations) -->
<SCRIPT language="JavaScript" type="text/javascript">
function doAddLabel(hideTextfieldAfterAddParam)
{
// stub
}
function onAddLabel()
{
// stub
}
function showLabelsInput()
{
// stub
}
</SCRIPT>
<A name="top"></A>
<TABLE class="frameTable" cellpadding="0" cellspacing="0" border="0">
<TR class="Row1">
<TD class="Col1"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col2"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col3"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col4"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col5"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
</TR>
<TR class="Row2">
<TD class="Col1"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col2">&nbsp;</TD>
<TD class="Col3" id="breadcrumbs">
<!-- $TOP_NAV_BAR -->
<A href="index.html" title="Index">Home</A> | <A href="news.html" title="News">News</A> | <A href="faq.html" title="FAQ">FAQ</A> | <A href="download.html" title="Download">Download</A> | <A href="mailing-lists.html" title="Mailing Lists">Lists</A> | <A href="http://issues.apache.org/jira/browse/OPENEJB" class="external-link" rel="nofollow">Issues</A>
</TD>
<TD class="Col4"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col5">&nbsp;</TD>
</TR>
<TR class="Row3">
<TD class="Col1"><IMG alt="" class="Row3Img" id="thinLine" src="http://openejb.apache.org/images/line_sm.gif"></TD>
<TD class="Col2"><IMG alt="" class="Row3Img" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col3"><IMG alt="" class="Row3Img" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col4"><IMG alt="" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col5"><IMG alt="" class="Row3Img" src="http://openejb.apache.org/images/dotTrans.gif"></TD>
</TR>
<TR class="Row4">
<TD class="Col1">
<SPAN id="Navigation">
<H3><A name="Navigation-Overview"></A>Overview</H3>
<UL class="alternate" type="square">
<LI><A href="index.html" title="Index">Home</A></LI>
<LI><A href="news.html" title="News">News</A></LI>
<LI><A href="faq.html" title="FAQ">FAQ</A></LI>
<LI><A href="download.html" title="Download">Download</A></LI>
<LI><A href="../OPENEJBx30/index.html" title="Index">Documentation</A></LI>
<LI><A href="examples.html" title="Examples">Examples</A></LI>
<LI><A href="http://cwiki.apache.org/confluence/display/OPENEJB/Lightening%20Demos" class="external-link" rel="nofollow">Lightning Demos</A></LI>
<LI><A href="mailing-lists.html" title="Mailing Lists">Mailing Lists</A></LI>
<LI><A href="source-code.html" title="Source Code">Source Code</A></LI>
<LI><A href="http://blogs.apache.org/openejb" class="external-link" rel="nofollow">Project Blog</A></LI>
</UL>
<H3><A name="Navigation-Servers"></A>Servers</H3>
<UL class="alternate" type="square">
<LI><A href="local-server.html" title="Local Server">Local</A></LI>
<LI><A href="remote-server.html" title="Remote Server">Remote</A></LI>
</UL>
<H3><A name="Navigation-Integrations"></A>Integrations</H3>
<UL class="alternate" type="square">
<LI><A href="../OPENEJBx30/tomcat.html" title="Tomcat">Tomcat</A></LI>
<LI><A href="geronimo.html" title="Geronimo">Geronimo</A></LI>
<LI><A href="webobjects.html" title="WebObjects">WebObjects</A></LI>
</UL>
<H3><A name="Navigation-Community"></A>Community</H3>
<UL class="alternate" type="square">
<LI><A href="team.html" title="Team">Team</A></LI>
<LI><A href="articles.html" title="Articles">Articles</A></LI>
<LI><A href="http://webchat.freenode.net/?channels=openejb" class="external-link" rel="nofollow">IRC</A></LI>
</UL>
<H3><A name="Navigation-RelatedProjects"></A>Related Projects</H3>
<UL class="alternate" type="square">
<LI><A href="http://activemq.apache.org/" class="external-link" rel="nofollow">ActiveMQ</A></LI>
<LI><A href="http://openjpa.apache.org/" class="external-link" rel="nofollow">OpenJPA</A></LI>
<LI><A href="http://cxf.apache.org/" class="external-link" rel="nofollow">CXF</A></LI>
</UL>
<H3><A name="Navigation-Index"></A>Index</H3>
<UL class="alternate" type="square">
<LI><A href="space-index.html" title="Space Index">Site Index</A></LI>
<LI><A href="../OPENEJBx30/space-index.html" title="Space Index">Doc Index</A></LI>
</UL>
<H3>
<A name="Navigation-Feeds"></A>
Feeds
</H3>
<UL class="feeds">
<LI>
<A href="http://cwiki.apache.org/confluence/spaces/rss.action?key=OPENEJB&newPages=false">
<IMG src="http://openejb.apache.org/images/rss.gif"></A>
<A class="feedsText" href="http://cwiki.apache.org/confluence/spaces/rss.action?key=OPENEJB&newPages=false">Site</A>
</LI>
<LI><A href="http://cwiki.apache.org/confluence/spaces/blogrss.action?key=OPENEJB">
<IMG src="http://openejb.apache.org/images/rss.gif"></A>
<A class="feedsText" href="http://cwiki.apache.org/confluence/spaces/blogrss.action?key=OPENEJB">News</A>
</LI>
</UL>
</SPAN>
</TD>
<TD class="Col2">&nbsp;</TD>
<TD class="Col3">
<TABLE id="PageHeader" border="0" width="100%">
<TR>
<TD>
<A href="http://openejb.org/">
<IMG hspace="0" src="http://openejb.apache.org/images/logo_openejb.gif" vspace="0">
</A>
</TD>
<TD align="right">
<A href="http://www.apache.org/">
<IMG src="http://www.apache.org/images/asf-logo.gif" width="258" height="66">
</A>
</TD>
</TR>
<TR>
<TD id="page_title">
<!-- $TITLE -->
OpenEJB Release Process
</TD>
<TD align="right">
<BR><BR>
<!-- Google CSE Search Box Begins -->
<FORM id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
<INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
<INPUT type="hidden" name="cof" value="FORID:0">
<INPUT name="q" type="text" size="25">
<INPUT type="submit" name="sa" value="Search">
</FORM>
<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>
<!-- Google CSE Search Box Ends -->
</TD>
</TR>
</TABLE>
<P>
<!-- $BODY -->
<DIV id="PageContent">
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
mvn release:prepare -Dusername=dblevins -Dassemble
</PRE>
</DIV></DIV>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
mvn release:perform -Dassemble -Dusername=dblevins -DaltDeploymentRepository=dblevins::default::scp://people.apache.org/x1/home/dblevins/public_html/stage -Dgpg.passphrase=xxxxx
</PRE>
</DIV></DIV>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-java">
mvn clean deploy -Prelease -Dassemble -Dusername=dblevins -DaltDeploymentRepository=dblevins::<SPAN class="code-keyword">default</SPAN>::scp:<SPAN class="code-comment">//people.apache.org/x1/home/dblevins/public_html/stage/repo -Dgpg.passphrase=xxxxx</SPAN>
</PRE>
</DIV></DIV>
<P>1. Create a copy of the trunk the branch will be based on.</P>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
svn copy -m &quot;OpenEJB 3.0-beta-1 branch&quot; \
https://svn.apache.org/repos/asf/openejb/trunk/openejb3 \
https://svn.apache.org/repos/asf/openejb/branches/3.0-beta-1
</PRE>
</DIV></DIV>
<H1><A name="OpenEJBReleaseProcess-Mergingthingsfromtrunktothebranch"></A>Merging things from trunk to the branch</H1>
<P>While fixing issues in the branch and trunk in parallel it may happen that some changes in trunk have not been applied to the branch. Provided you're in the branch's directory the following command applies a change from the trunk to the branch ({<TT>-c 575845</TT>} is the commit number with the fix and the url points to a repo the change is in).</P>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
svn merge -c 575845 https://svn.apache.org/repos/asf/openejb/trunk/openejb3
</PRE>
</DIV></DIV>
<P>Here's a little script that can make merging easier</P>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-java">
#!/bin/bash
<SPAN class="code-keyword">for</SPAN> n in $@; <SPAN class="code-keyword">do</SPAN>
m=$(($n -1))
LOG=/tmp/svn-commit-r$n.log
cat /dev/<SPAN class="code-keyword">null</SPAN> &gt; $LOG
echo <SPAN class="code-quote">&quot;Merging r$n - http:<SPAN class="code-comment">//svn.apache.org/viewvc?rev=$n&amp;view=rev&quot;</SPAN> &gt;&gt; $LOG
</SPAN> echo &quot;&quot; &gt;&gt; $LOG
echo <SPAN class="code-quote">&quot;svn merge -r $m:$n https:<SPAN class="code-comment">//svn.apache.org/repos/asf/openejb/trunk/openejb3 .&quot;</SPAN> &gt;&gt; $LOG
</SPAN> echo &quot;&quot; &gt;&gt; $LOG
svn log -r$n https:<SPAN class="code-comment">//svn.apache.org/repos/asf/openejb/trunk/openejb3 &gt;&gt; $LOG
</SPAN>
svn merge -r $m:$n https:<SPAN class="code-comment">//svn.apache.org/repos/asf/openejb/trunk/openejb3 . &amp;&amp;
</SPAN> svn ci -F $LOG
echo <SPAN class="code-quote">&quot;$n merged&quot;</SPAN>
done
</PRE>
</DIV></DIV>
<H1><A name="OpenEJBReleaseProcess-Aggregationintoastage%2F3.xdirectory"></A>Aggregation into a stage/3.x directory</H1>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-java">
#!/bin/bash
VER=3.0
function <SPAN class="code-keyword">package</SPAN> () {
SOURCE=$1; DEST=${2:-$SOURCE}
tar czf $DEST.tar.gz $SOURCE
zip -9rq $DEST.zip $SOURCE
}
function shash {
openssl $1 &lt; $2 &gt; $2.$1 ;
}
function sign {
archive=$1
gpg --armor --output $archive.asc --detach-sig $archive
gpg --verify $archive.asc $archive
}
function fail () { echo $1 &gt;&amp;2; exit 1;}
mkdir $VER
(cd $VER
svn export http:<SPAN class="code-comment">//svn.apache.org/repos/asf/openejb/tags/openejb-$VER/examples openejb-examples-$VER
</SPAN><SPAN class="code-keyword">package</SPAN> openejb-examples-$VER &amp;&amp; rm -r openejb-examples-$VER
svn export http:<SPAN class="code-comment">//svn.apache.org/repos/asf/openejb/tags/openejb-$VER openejb-$VER-src
</SPAN><SPAN class="code-keyword">package</SPAN> openejb-$VER-src &amp;&amp; rm -r openejb-$VER-src
<SPAN class="code-keyword">for</SPAN> archive in *.{zip,tar.gz}; <SPAN class="code-keyword">do</SPAN>
echo $archive
shash md5 $archive
sign $archive
done || fail <SPAN class="code-quote">&quot;Unable to sign or hash release archives&quot;</SPAN>
)
scp -r $VER people.apache.org:public_html/stage/
# Copy standalone assembly in
ssh people.apache.org <SPAN class="code-quote">&quot;cp ~/public_html/stage/repo/org/apache/openejb/openejb-standalone/$VER/openejb-standalone-$VER.{zip,tar.gz}{,.asc,.md5} ~/public_html/stage/$VER/&quot;</SPAN>
echo $VER | ssh people.apache.org 'read VER &amp;&amp; <SPAN class="code-keyword">for</SPAN> n in ~/public_html/stage/repo/org/apache/openejb/openejb-standalone/$VER/openejb-standalone-$VER.{zip,tar.gz}{,.asc,.md5}; <SPAN class="code-keyword">do</SPAN> cp $n ~/public_html/stage/$VER/$(basename ${n/openejb-standalone-$VER/openejb-$VER}); done'
# Copy tomcat webapp assembly in
echo $VER | ssh people.apache.org 'read VER &amp;&amp; <SPAN class="code-keyword">for</SPAN> n in ~/public_html/stage/repo/org/apache/openejb/openejb-tomcat-webapp/$VER/openejb-tomcat-webapp-$VER.war{,.asc,.md5}; <SPAN class="code-keyword">do</SPAN> cp $n ~/public_html/stage/$VER/$(basename ${n/-tomcat-webapp-$VER/}); done'
</PRE>
</DIV></DIV>
<H1><A name="OpenEJBReleaseProcess-Releasenotes"></A>Release notes</H1>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-java">
#set( $rpc = $xmlrpc.connect(<SPAN class="code-quote">&quot;dblevins:xxxxx&quot;</SPAN>,<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//issues.apache.org/jira/rpc/xmlrpc&quot;</SPAN>) )
</SPAN>#set( $version = $rpc.getVersion(<SPAN class="code-quote">&quot;OPENEJB&quot;</SPAN>, <SPAN class="code-quote">&quot;3.0&quot;</SPAN>) )
#set ( $versionId = $version.id )
#set ( $jira = $rss.fetch(<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&amp;&amp;pid=12310530&amp;status=5&amp;status=6&amp;fixfor=${versionId}&amp;tempMax=1000&amp;reset=<SPAN class="code-keyword">true</SPAN>&amp;decorator=none&quot;</SPAN>) )
</SPAN>#set( $issues = $jira.issues )
Apache OpenEJB $version
$date
New Features:
#foreach ( $issue in $issues.equals(<SPAN class="code-quote">&quot;type&quot;</SPAN>, <SPAN class="code-quote">&quot;New Feature&quot;</SPAN>).descending(<SPAN class="code-quote">&quot;id&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
Improvements:
#foreach ( $issue in $issues.equals(<SPAN class="code-quote">&quot;type&quot;</SPAN>, <SPAN class="code-quote">&quot;Improvement&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
Bugs:
#foreach ( $issue in $issues.equals(<SPAN class="code-quote">&quot;type&quot;</SPAN>, <SPAN class="code-quote">&quot;Bug&quot;</SPAN>).sort(<SPAN class="code-quote">&quot;priority&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
Tasks &amp; Sub-Tasks:
#foreach ( $issue in $issues.equals(<SPAN class="code-quote">&quot;type&quot;</SPAN>, <SPAN class="code-quote">&quot;Task&quot;</SPAN>).sort(<SPAN class="code-quote">&quot;summary&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
#foreach ( $issue in $issues.equals(<SPAN class="code-quote">&quot;type&quot;</SPAN>, <SPAN class="code-quote">&quot;Sub-task&quot;</SPAN>).sort(<SPAN class="code-quote">&quot;summary&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Unimplemented Features, bugs, limitations
#set ( $jira = $rss.fetch(<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&amp;&amp;pid=12310530&amp;status=1&amp;status=3&amp;status=4&amp;version=${versionId}&amp;tempMax=1000&amp;reset=<SPAN class="code-keyword">true</SPAN>&amp;decorator=none&quot;</SPAN>) )
</SPAN>#set( $issues = $jira.issues )
#foreach ( $issue in $issues.sort(<SPAN class="code-quote">&quot;priority&quot;</SPAN>) )
* [$issue.key] $issue.summary
#end
</PRE>
</DIV></DIV>
<H1><A name="OpenEJBReleaseProcess-README.htmlfile"></A>README.html file</H1>
<P>some way to dynamically update this would be great.</P>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-html">
<SPAN class="code-tag">&lt;!DOCTYPE HTML PUBLIC <SPAN class="code-quote">&quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;</SPAN>&gt;</SPAN>
<SPAN class="code-tag">&lt;HTML&gt;</SPAN><SPAN class="code-tag">&lt;HEAD&gt;</SPAN><SPAN class="code-tag">&lt;TITLE&gt;</SPAN>Apache OpenEJB 3.0<SPAN class="code-tag">&lt;/TITLE&gt;</SPAN>
<SPAN class="code-tag">&lt;META http-equiv=Content-Type content=<SPAN class="code-quote">&quot;text/html&quot;</SPAN>&gt;</SPAN>
<SPAN class="code-tag">&lt;/HEAD&gt;</SPAN>
<SPAN class="code-tag">&lt;BODY&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN>
<SPAN class="code-tag">&lt;H3&gt;</SPAN>Apache OpenEJB 3.0<SPAN class="code-tag">&lt;/H3&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN><SPAN class="code-tag">&lt;/P&gt;</SPAN>
<SPAN class="code-tag">&lt;p&gt;</SPAN>Packaging Details (or <SPAN class="code-quote">&quot;What Should I Download?&quot;</SPAN>)
<SPAN class="code-tag">&lt;ul&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN>
OpenEJB Standlone Server:
<SPAN class="code-tag">&lt;ul&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-3.0.zip&quot;</SPAN>&gt;</SPAN>openejb-3.0.zip<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-3.0.tar.gz&quot;</SPAN>&gt;</SPAN>openejb-3.0.tar.gz<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
<SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN>
OpenEJB for Tomcat 6 or Tomcat 5.5:
<SPAN class="code-tag">&lt;ul&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb.war&quot;</SPAN>&gt;</SPAN>openejb.war<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
<SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN>
EJB 3.0 and other examples:
<SPAN class="code-tag">&lt;ul&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-examples-3.0.zip&quot;</SPAN>&gt;</SPAN>openejb-examples-3.0.zip<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-examples-3.0.tar.gz&quot;</SPAN>&gt;</SPAN>openejb-examples-3.0.tar.gz<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
<SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN>
Source:
<SPAN class="code-tag">&lt;ul&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-3.0-src.zip&quot;</SPAN>&gt;</SPAN>openejb-3.0-src.zip<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;openejb-3.0-src.tar.gz&quot;</SPAN>&gt;</SPAN>openejb-3.0-src.tar.gz<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
<SPAN class="code-tag">&lt;/li&gt;</SPAN>
<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
<SPAN class="code-tag">&lt;/p&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN>Thank you for using <SPAN class="code-tag">&lt;A href=<SPAN class="code-quote">&quot;http://openejb.apache.org/&quot;</SPAN>&gt;</SPAN>OpenEJB<SPAN class="code-tag">&lt;/A&gt;</SPAN>!.
<SPAN class="code-tag">&lt;/P&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN><SPAN class="code-tag">&lt;B&gt;</SPAN>The Apache OpenEJB Project<SPAN class="code-tag">&lt;/B&gt;</SPAN> <SPAN class="code-tag">&lt;BR&gt;</SPAN>&lt;A
href=<SPAN class="code-quote">&quot;http://openejb.apache.org/&quot;</SPAN>&gt;http://openejb.apache.org/<SPAN class="code-tag">&lt;/A&gt;</SPAN> <SPAN class="code-tag">&lt;/P&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN>
<SPAN class="code-tag">&lt;P&gt;</SPAN><SPAN class="code-tag">&lt;/P&gt;</SPAN><SPAN class="code-tag">&lt;/BODY&gt;</SPAN><SPAN class="code-tag">&lt;/HTML&gt;</SPAN>
</PRE>
</DIV></DIV>
<H1><A name="OpenEJBReleaseProcess-Publishing"></A>Publishing</H1>
<P>When all voting is done</P>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
mvn stage:copy -Dsource=&quot;http://people.apache.org/~dblevins/stage/repo/&quot; \
-Dtarget=&quot;scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository&quot; \
-DsourceRepositoryId=apache.staging \
-DtargetRepositoryId=apache.releases \
-Dversion=3.0
</PRE>
</DIV></DIV>
<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
<PRE class="code-none">
[dblevins@minotaur ~/public_html/stage]$ mv 3.0 /www/www.apache.org/dist/openejb/
</PRE>
</DIV></DIV>
</DIV>
</P>
</TD>
<TD class="Col4"><IMG src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col5">
</TD>
</TR>
<TR class="Row5">
<TD class="Col1">&nbsp;</TD>
<TD class="Col2">&nbsp;</TD>
<TD class="Col3">
<BR>
<BR>
<IMG width="100%" height="1" src="http://openejb.apache.org/images/line_light.gif">
<TABLE width="100%">
<TR>
<TD>
<SPAN class="bodyGrey">
<SMALL>
<NOTICE><!-- $FOOTER -->
Apache OpenEJB is an project of The Apache Software Foundation (ASF)
</NOTICE>
<BR>
Site Powered by
<A href="http://atlassian.com/">Atlassian</A>
<A href="http://atlassian.com/confluence/">Confluence</A>
.
</SMALL>
</SPAN>
</TD>
<TD align="right">
<A style="color:#999;font-size:small;font-weight:normal;" href="https://cwiki.apache.org/confluence/pages/editpage.action?spaceKey=OPENEJB&title=OpenEJB%20Release%20Process">[ edit ]</A>
</TD>
</TR>
</TABLE>
<BR>
</TD>
<TD class="Col4"><IMG src="http://openejb.apache.org/images/dotTrans.gif"></TD>
<TD class="Col5">&nbsp;</TD>
</TR>
</TABLE>
<!-- Needed for composition plugin -->
<!-- delay the loading of large javascript files to the end so that they don't interfere with the loading of page content -->
<SPAN style="display: none">
<SCRIPT type="text/javascript" language="JavaScript" src="http://cwiki.apache.org/confluence/labels-javascript"></SCRIPT>
<SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</SCRIPT>
<SCRIPT type="text/javascript">
_uacct = "UA-2717626-1";
urchinTracker();
</SCRIPT>
</SPAN>
</BODY>
</HTML>