| <html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>CVS Access</title><link href="default.css" rel="stylesheet"><link href="/images/favicon.ico" rel="SHORTCUT ICON"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" width="712" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="20"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="95"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="6" width="40" src="images/dotTrans.gif"></td><td bgcolor="#5A5CB8" align="left" valign="top" width="430"><img border="0" height="6" width="430" src="images/top_2.gif"></td><td bgcolor="#E24717" align="left" valign="top" width="120"><img src="images/top_3.gif" width="120" height="6" border="0"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="40"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="430"><a href="faq.html"><span class="menuTopOff">[ f a q ]</span></a> <a href="http://wiki.codehaus.org/openejb"><span class="menuTopOff">[ w i k i ]</span></a> <a href="http://archive.openejb.codehaus.org/user/"><span class="menuTopOff">[ l i s t s ]</span></a> <a href="http://cvs.openejb.org/"><span class="menuTopOff">[ c v s ]</span></a> <a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10401"><span class="menuTopOff">[ b u g s ]</span></a> <br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" height="20" width="120"> </td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img border="0" height="3" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="40"><img border="0" height="3" width="40" src="images/line_light.gif"></td><td align="left" valign="top" width="430"><img border="0" height="3" width="430" src="images/line_light.gif"></td><td align="left" valign="top" width="120"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"><a href="index.html"><span class="subMenuOff"> |
| Welcome!</span></a></td></tr><tr><td align="left" valign="top"><a href="download.html"><span class="subMenuOff"> |
| Download</span></a></td></tr><tr><td align="left" valign="top"><a href="lists.html"><span class="subMenuOff"> |
| Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"><a href="cvs.html"><span class="subMenuOff"> |
| Source Code</span></a></td></tr><tr><td align="left" valign="top"><a href="contributors.html"><span class="subMenuOff"> |
| The Team</span></a></td></tr><tr><td align="left" valign="top"><a href="status.html"><span class="subMenuOff"> |
| Status</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Users</span></td></tr><tr><td align="left" valign="top"><a href="quickstart.html"><span class="subMenuOff"> |
| Quickstart</span></a></td></tr><tr><td align="left" valign="top"><a href="hello-world.html"><span class="subMenuOff"> |
| Hello World!</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_entity_postgresql.html"><span class="subMenuOff"> |
| CMP Example</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_guide.html"><span class="subMenuOff"> |
| CMP Guide</span></a></td></tr><tr><td align="left" valign="top"><a href="deploy.html"><span class="subMenuOff"> |
| Deploy</span></a></td></tr><tr><td align="left" valign="top"><a href="start-command.html"><span class="subMenuOff"> |
| Startup</span></a></td></tr><tr><td align="left" valign="top"><a href="validate.html"><span class="subMenuOff"> |
| Validation</span></a></td></tr><tr><td align="left" valign="top"><a href="config_containers.html"><span class="subMenuOff"> |
| Configuration</span></a></td></tr><tr><td align="left" valign="top"><a href="properties.html"><span class="subMenuOff"> |
| Properties</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Servers</span></td></tr><tr><td align="left" valign="top"><a href="embedded.html"><span class="subMenuOff"> |
| Local Server</span></a></td></tr><tr><td align="left" valign="top"><a href="remote-server.html"><span class="subMenuOff"> |
| Remote Server</span></a></td></tr><tr><td align="left" valign="top"><a href="tomcat.html"><span class="subMenuOff"> |
| Tomcat</span></a></td></tr><tr><td align="left" valign="top"><a href="geronimo.html"><span class="subMenuOff"> |
| Geronimo</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Integrators</span></td></tr><tr><td align="left" valign="top"><a href="whyopenejb.html"><span class="subMenuOff"> |
| Why OpenEJB</span></a></td></tr><tr><td align="left" valign="top"><a href="containersystem.html"><span class="subMenuOff"> |
| Overview</span></a></td></tr><tr><td align="left" valign="top"><a href="design_openejb.html"><span class="subMenuOff"> |
| Design</span></a></td></tr><tr><td align="left" valign="top"><a href="OpenEJB_presentaion.ppt"><span class="subMenuOff"> |
| Presentation</span></a></td></tr></table><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img border="0" height="3" width="105" src="images/line_sm.gif"><br><A href="http://codehaus.org"><IMG alt="The Codehaus" border="0" height="17" width="88" src="http://www.openejb.org/codehaus-smaller.png"></A></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"> </td><td align="left" valign="top" width="40"> </td><td valign="top" width="430" rowspan="4"><table width="430" cellspacing="0" cellpadding="0" border="0" rows="2" cols="1"><tr><td align="left" valign="top"><br><img width="200" vspace="0" src="./images/logo_ejb2.gif" hspace="0" height="55" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="7" border="0"><br><span class="pageTitle">CVS Access</span><br><img src="images/dotTrans.gif" hspace="0" height="1" border="0"></td></tr></table><p></p><p></p><br><span class="toc"><a href="#Getting the Source">Getting the Source</a><br></span><span class="toc"><a href="#building">Building the Source</a><br></span><span class="toc"><a href="#Guidelines For Code Contribution">Guidelines For Code Contribution</a><br></span><span class="toc"><a href="#Guidelines For Committers">Guidelines For Committers</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule1">Familiarize yourself</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule2">Let us know</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule3">Test, test, test</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule4">Commit all at once</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule5">Be ready to receive complaints</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule6">Give yourself some credit</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule7">Observe release time</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule8">Document what you've done</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#rule9">Use the document DTD</a><br></span><span class="toc"><a href="#Licensing Policy">Licensing Policy</a><br></span><span class="toc"><a href="#Other sources of information">Other sources of information</a><br></span><br><a name="Getting the Source"><h2>Getting the Source</h2></a> |
| <p><span class="bodyBlack"> |
| Getting involved in any Open Source project requires the source. The |
| standard tool for managing source code in open source projects is CVS. |
| If you are not familiar with CVS, take a moment to read our |
| <a href="faq_cvs.html">CVS FAQ</a>. |
| </span></p> |
| |
| |
| <p><span class="bodyBlack"> |
| If you have cvs already installed and are ready to go, the following two commands |
| are all you need to get the source. The first command logs you into the system, when |
| it prompts you for the CVS password, simply hit the Enter key. |
| </span></p> |
| <p><span class="bodyBlack"> |
| <span class="command">cvs -d:pserver:anon@cvs.openejb.codehaus.org:/scm/openejb login</span> |
| </span></p> |
| <p><span class="bodyBlack"> |
| <span class="command">cvs -d:pserver:anon@cvs.openejb.codehaus.org:/scm/openejb co <I>MODULE</I></span> |
| </span></p> |
| <p><span class="bodyBlack"> |
| where MODULE may become: |
| <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey"> |
| <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack"><b>openejb</b> - OpenEJB 2.0 (Apache Geronimo-oriented version with EJB 2.x support)</span></td></tr> |
| <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack"><b>openejb1</b> - OpenEJB 1.0 (EJB 1.x support)</span></td></tr> |
| <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack"><b>website</b> - OpenEJB web site</span></td></tr> |
| </span></table> |
| </span></p> |
| |
| <p><span class="bodyBlack"> |
| NOTE: The 'cvs ....' commands above should be on one line and executed as one command. |
| </span></p> |
| |
| <p><span class="bodyBlack"> |
| If you are a new user to cvs, the above steps may seem overly simplistic to you. |
| For a more detailed explanation of the login/checkout process, <a href="quickstart-cvs.html">click here</a>. |
| </span></p> |
| |
| <a name="building"><h2>Building the Source</h2></a> |
| <p><span class="bodyBlack"> |
| Building OpenEJB from the sources requires <a href="http://maven.apache.org">Apache Maven</a> to be installed. Download, install and run it to see if it works well. See <a href="http://maven.apache.org">Apache Maven</a> web site for information on how to do it. |
| </span></p> |
| |
| <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">Do it to see if Maven is installed correctly</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre> |
| $ maven --version |
| __ __ |
| | \/ |__ _Apache__ ___ |
| | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |
| |_| |_\__,_|\_/\___|_||_| v. 1.0 |
| </pre></span></td></tr></table> |
| |
| <p><span class="bodyBlack">Once you've got Maven working, change the current working directory to the one where OpenEJB sources have been downloaded to. Run <i>maven</i> command at the command line prompt.</span></p> |
| |
| <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">OpenEJB 1.0 build process (openejb1 module)</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre> |
| $ maven |
| __ __ |
| | \/ |__ _Apache__ ___ |
| | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |
| |_| |_\__,_|\_/\___|_||_| v. 1.0 |
| |
| Starting the reactor... |
| Our processing order: |
| OpenEJB :: Core |
| OpenEJB :: Integration Tests |
| OpenEJB :: WebAdmin |
| ... |
| BUILD SUCCESSFUL |
| Total time: 3 minutes 31 seconds |
| Finished at: Tue Aug 10 14:36:26 CEST 2004 |
| </pre></span></td></tr></table> |
| |
| <p><span class="bodyBlack">Once the maven command finishes OpenEJB binaries are found in the <i>target/openejb-1.0-SNAPSHOT/</i> directory. From now on, the directory is refered to as OpenEJB home directory (similarly to the directory where the binaries are when OpenEJB is downloaded from the web site).</span></p> |
| <a name="Guidelines For Code Contribution"><h2>Guidelines For Code Contribution</h2></a> |
| |
| <p><span class="bodyBlack">All code contributions must be under the license and copyright of the |
| project to which you contribute. By contributing code you agree that we |
| can distribute the contribution under the terms of the license, that it |
| can be distributed without any royalties, copyright, trademark, patent or |
| other legal lock ups. Open source means no discrimination against any |
| group or individual that may wish to use the code.</span></p> |
| |
| <p><span class="bodyBlack">When making a contribution you are granting us a world wide, royalty free, |
| unlimited in time license to re-distribute the code under the Exolab license. |
| In case you wonder, you remain the original author and copyright holder |
| of the contribution, you just give other people a license to use it as well. |
| Thank you.</span></p> |
| |
| <p><span class="bodyBlack">It's perfectly ok to put your name and e-mail address in the code.</span></p> |
| |
| <p><span class="bodyBlack">When sending patches, diff files with context (3 lines before, 3 lines |
| after) work best: |
| <span class="bodyGrey"><pre> |
| cvs diff -c <file> |
| or |
| diff -c <file> |
| </pre></span> |
| </span></p> |
| |
| <a name="Guidelines For Committers"><h2>Guidelines For Committers</h2></a> |
| |
| <a name="rule1"><h3>Familiarize yourself</h3></a> |
| |
| <p><span class="bodyBlack"><i>Familiarize yourself.</i> Take some time to understand the directory |
| structure, build environment, interaction between components, coding and commenting |
| style. Nothing out of the ordinary, but still not all projects are identical.</span></p> |
| |
| |
| <a name="rule2"><h3>Let us know</h3></a> |
| |
| <p><span class="bodyBlack"><i>Before starting to work please advertise.</i> It's pointless to have two people |
| working on the same feature. Send an e-mail to the developer mailing list and |
| announce what and how. If you don't get a reply within a day, you can assume the |
| coast is clear.</span></p> |
| |
| |
| <a name="rule3"><h3>Test, test, test</h3></a> |
| |
| <p><span class="bodyBlack"><i>Test before you commit.</i> Before committing any changes run a <tt>cvs update</tt> |
| to make sure you have the latest code base. Run the test cases to make sure nothing |
| is broken.</span></p> |
| |
| |
| <a name="rule4"><h3>Commit all at once</h3></a> |
| |
| <p><span class="bodyBlack"><i>Commit all at once.</i> If the change involves more than a single file, make sure |
| to commit all the changes together. A partially committed CVS tree is not a pretty |
| sight. No lunch breaks, meetings or sleep during commits.</span></p> |
| |
| |
| <a name="rule5"><h3>Be ready to receive complaints</h3></a> |
| |
| <p><span class="bodyBlack"><i>Be ready to receive complaints.</i> Hopefully all works fine, but if changes |
| to break existing code, people will complain. Be ready to answer their e-mails |
| and apply the proper fixes. No going on vacation five minutes after a commit.</span></p> |
| |
| |
| <a name="rule6"><h3>Give yourself some credit</h3></a> |
| |
| <p><span class="bodyBlack"><i>Put your name so people know who to credit.</i> (Also who to blame). Initials |
| work just fine, your full name and e-mail address are already on the main page. |
| If you've added a new file, feel free to put your name and e-mail address as the |
| author. If you're fixing a file, put your initials on the comment.</span></p> |
| |
| |
| <a name="rule7"><h3>Observe release time</h3></a> |
| |
| <p><span class="bodyBlack"><i>Observe release time.</i> We're going to announce a new release five hours prior |
| to making it. That gives you four hours to commit any changes, make sure nothing |
| breaks. Don't leave the computer before the release is done. If you can't make |
| it, there's alway the next release.</span></p> |
| |
| |
| <a name="rule8"><h3>Document what you've done</h3></a> |
| |
| <p><span class="bodyBlack"><i>Document what you've done.</i> In-code documentation, CVS commit messages, |
| and the changelog. Major changes should always be recorded in the changelog.</span></p> |
| |
| |
| <a name="rule9"><h3>Use the document DTD</h3></a> |
| |
| <p><span class="bodyBlack"><i>Use the document DTD.</i> When adding new documentation use the document DTD. |
| Specify the proper document URL, properties, body and section. Everything |
| inside the body/header/section is XHTML. That means well formed HTML. |
| If it's not, you won't be able to build the docs.</span></p> |
| |
| <p><span class="bodyBlack">We don't have a particular style for documentation, and we do appreciate |
| a sense of humor, sarcasm and literary expression. Just don't overdue it, |
| and please, no cliche.</span></p> |
| |
| <a name="Licensing Policy"><h2>Licensing Policy</h2></a> |
| |
| <p><span class="bodyBlack">We have a simple policy regarding distributable code. Either it's open source |
| and compatible in license, or it's an API that is freely distributable.</span></p> |
| |
| <p><span class="bodyBlack">BSD-like and MPL-like licenses are compatible and can be mixed in the |
| same code base. Liberal licenses and public domain are also fine.</span></p> |
| |
| <p><span class="bodyBlack">APIs need not be open source, but they must be freely distributable. |
| As a policy we like to stick with standard APIs and never modify them, |
| so the license has little affect. We do favor public domains APIs like |
| SAX over tightly controlled APIs, and hopefully we can all do something |
| about that.</span></p> |
| |
| <p><span class="bodyBlack">Pay special attention to pre-release availability and trademark issues. |
| Several committees and companies require proper trademark acknowledgement in |
| the documentation. Some of them are available for distribution only |
| once they have been formally released. This policy applies to all APIs |
| coming from Sun.</span></p> |
| |
| <a name="Other sources of information"><h2>Other sources of information</h2></a> |
| |
| <p><span class="bodyBlack">Here is the CVS website. |
| <a href="http://www.sourcegear.com/CVS">http://www.sourcegear.com/CVS</a> |
| </span></p> |
| <p><span class="bodyBlack"> |
| Win95/NT/2000(NT 5.0) related material |
| <a href="http://www.sourcegear.com/CVS/Dev/codewindow">http://www.sourcegear.com/CVS/Dev/codewindow</a> |
| </span></p> |
| <p><span class="bodyBlack"> |
| More advanced documentation. |
| <a href="http://www.loria.fr/~molli/cvs-index.html"> http://www.loria.fr/~molli/cvs-index.html</a> |
| </span></p> |
| |
| </td><td align="left" valign="top" height="5" width="120"> |
| |
| |
| |
| </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20"> </td><td valign="top" bgcolor="#7270c2" height="5" width="95"> </td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7"> </td><td align="left" valign="top" height="5" width="40"> </td><td align="left" valign="top" height="5" width="120"> </td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20"> </td><td align="left" valign="top" bgcolor="#7270c2" width="95"> </td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120"> </td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="20"><img border="0" height="125" width="20" src="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="95"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7"> </td><td align="left" valign="top" height="100%" width="40"> </td><td align="left" valign="top" height="100%" width="120"> </td></tr><tr height="5"><td align="left" valign="top" height="25" width="40"> </td><td align="left" valign="bottom" height="25" width="430"><br><br><img height="3" width="430" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice> |
| OpenEJB is a trademark of the OpenEJB Group. |
| Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered |
| trademarks of Sun Microsystems, Inc. in the United States and in other |
| countries. XML, XML Schema, XSLT and related standards are trademarks or registered |
| trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web |
| Consortium. All other product names mentioned herein are trademarks of their respective |
| owners. |
| </notice><br> <br></small></span><p></p> |
| |
| </td><td align="left" valign="top" height="25" width="120"> </td></tr></table></body></html> |