blob: cdb739ab628eea3e878591dcfc2b0f4bf7916bdd [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Source Code</title>
<meta name="description" content="Apache TomEE">
<meta name="author" content="Apache TomEE">
<meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le styles -->
<link href="./../resources/css/bootstrap.css" rel="stylesheet">
<link href="./../resources/css/prettify.css" rel="stylesheet">
<!--link href="./../resources/css/bootstrap-mods.css" rel="stylesheet"-->
<link href="./../resources/css/main.css" rel="stylesheet">
<link href="./../resources/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
var u = encodeURIComponent(""+document.URL);
function fbshare () {
window.open(
"http://www.facebook.com/sharer/sharer.php?u="+u,
'Share on Facebook',
'width=640,height=426');
};
function gpshare () {
window.open(
"https://plus.google.com/share?url="+u,
'Share on Google+',
'width=584,height=385');
};
function twshare () {
window.open(
"https://twitter.com/intent/tweet?url="+u+"&text="+t,
'Share on Twitter',
'width=800,height=526');
};
function pinshare () {
window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
'Share on Pinterest',
'width=800,height=526');
};
</script>
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="./../favicon.ico">
<link rel="apple-touch-icon" href="./../resources/images/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="./../resources/images/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="./../resources/images/apple-touch-icon-114x114.png">
<script src="./../resources/js/prettify.js" type="text/javascript"></script>
<script src="./../resources/js/jquery-latest.js"></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<script src="./../resources/js/common.js"></script>
<script src="./../resources/js/prettyprint.js"></script>
<!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2717626-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="topbar" data-dropdown="dropdown">
<div class="fill">
<div class="container">
<a class="brand" href="./../index.html">Apache TomEE</a>
<ul class="nav">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Apache
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<!-- <li><a href="./../misc/whoweare.html">Who we are?</a></li> -->
<!-- <li><a href="./../misc/heritage.html">Heritage</a></li> -->
<li><a href="http://www.apache.org">Apache Home</a></li>
<!-- <li><a href="./../misc/resources.html">Resources</a></li> -->
<li><a href="./../misc/contact.html">Contact</a></li>
<li><a href="./../misc/legal.html">Legal</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li class="divider"/>
<li><a href="http://www.apache.org/security">Security</a></li>
</ul>
</li>
<li><a href="./../index.html">Home</a></li>
<li><a href="./../downloads.html">Downloads</a></li>
<li><a href="./../documentation.html">Documentation</a></li>
<li><a href="./../examples-trunk/index.html">Examples</a></li>
<li><a href="./../support.html">Support</a></li>
<li><a href="./../contribute.html">Contribute</a></li>
<li><a href="./../security/index.html">Security</a></li>
</ul>
<!-- Google CSE Search Box Begins -->
<FORM class="pull-right" 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 size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
</FORM>
<!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
<!-- Google CSE Search Box Ends -->
</div>
</div>
</div>
<div class="container">
<div class="page-header">
<small><a href="./../index.html">Home</a>&nbsp;&raquo&nbsp;<a href="./../dev/">Dev</a></small><br>
<h1>Source Code
<div style="float: right; position: relative; bottom: -10px; ">
<a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
<a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
<a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
<a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
<a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
</div>
</h1>
</div>
<p><strong><span style="color: rgb(128,0,0);">We have moved to GIT</span>. This means that anything you may find elsewhere on the site about SVN is no longer valid!</strong></p>
<p>The documentation will be updated over the next few days and weeks but if you find anything that is <strong>really</strong> misleading then please send a message to the developer list at: <a href="mailto:dev@tomee.apache.org">dev@tomee.apache.org</a></p>
<p>Probably the best GIT tutorial on the planet can be found here: <a href="https://www.atlassian.com/git/">https://www.atlassian.com/git/</a> - This is a great reference for both existing and new GIT users. Please take a look.</p>
<h3>GIT Information for Everyone</h3>
<p>You can browse the source code via the <a href="http://git-wip-us.apache.org/repos/asf/tomee.git">web interface</a>.</p>
<p>If you intend to hack on TomEE then it is recommended that you create a <a href="https://github.com">GitHub Account</a> and <a href="https://help.github.com/articles/fork-a-repo/">fork</a> the TomEE repository so that you can submit pull requests (See below).</p>
<p>If you just want to build the source version then you can download (aka clone) the sources of Apache TomEE with a GIT client from the following URL <a href="https://git-wip-us.apache.org/repos/asf/tomee.git">https://git-wip-us.apache.org/repos/asf/tomee.git</a> - The 'master' branch is the current development branch.</p>
<p>Performing the checkout from a command line using the GIT client (recommended) is as easy as executing the following command:</p>
<blockquote>
<p>git clone <a href="https://git-wip-us.apache.org/repos/asf/tomee.git">https://git-wip-us.apache.org/repos/asf/tomee.git</a> tomee</p>
</blockquote>
<p>If you want to checkout a specific branch then you can just change that in the command:</p>
<blockquote>
<p>git clone -b tomee-1.7.x <a href="https://git-wip-us.apache.org/repos/asf/tomee.git">https://git-wip-us.apache.org/repos/asf/tomee.git</a> tomee-1.7.x</p>
</blockquote>
<p>Or alternatively with Apache Maven 3.0.5 or later:</p>
<blockquote>
<p>mvn scm:checkout
-DconnectionUrl=scm:git:<a href="https://git-wip-us.apache.org/repos/asf/tomee.git">https://git-wip-us.apache.org/repos/asf/tomee.git</a>
-DcheckoutDirectory=tomee</p>
</blockquote>
<p>Note: This method does not require the GIT client.</p>
<p><a name="SourceCode-Contributors"></a></p>
<h3>GIT Information for TomEE Contributors</h3>
<p><strong>Please read our own detailed GitFlow workflow information <a href="git.html">here</a></strong></p>
<p>We will be using the <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow">Gitflow Workflow</a> from day one. Please read and understand how this works.</p>
<p>See <a href="https://help.github.com/articles/using-pull-requests/">here</a> for information on pull requests. </p>
<p>The official Apache Committer documentation can be found <a href="https://git-wip-us.apache.org/#committers-getting-started">here</a></p>
<p><a name="SourceCode-Continuousintegration"></a></p>
<h3>Continuous integration</h3>
<p>Apache TomEE continuous integration relies on <a href="http://ci.apache.org/">Apache Buildbot</a>.
All builders are available <a href="http://ci.apache.org/builders">from the page</a>.</p>
<ul>
<li><a href="http://ci.apache.org/builders/tomee-1.7.x-ubuntu">Apache TomEE 1.7.x under Ubuntu</a></li>
<li><a href="http://ci.apache.org/builders/tomee-trunk-ubuntu">Apache TomEE 2.x under Ubuntu</a></li>
<li><a href="http://ci.apache.org/builders/tomee-trunk-win-sunjdk">Apache TomEE 2.x under Windows using a Sun/Oracle JDK</a></li>
<li><a href="http://ci.apache.org/builders/tomee-trunk-win-ibmjdk6">Apache TomEE 2.x under Windows using an IBM JDK</a></li>
</ul>
<p><a name="SourceCode-Building"></a></p>
<h3>Maven</h3>
<p>To build the code, you'll need to grab a copy of <a href="http://maven.apache.org">Apache Maven</a>, version 3.0.5 or later.</p>
<h3>Memory Settings</h3>
<p>It is pretty much guaranteed that you will need to give Maven an increase on the available memory. <br />
Depending on the OS you are working on the fix can be as easy as (Note: <em>-XX:MaxPermSize=256M</em> is ignored by Java 8): </p>
<blockquote>
<p>export MAVEN_OPTS="-Xmx768m -XX:MaxPermSize=256M -XX:ReservedCodeCacheSize=64m -Xss2048k"</p>
</blockquote>
<p>on MacOS and Unices or </p>
<blockquote>
<p>set "MAVEN_OPTS=-Xmx768m -XX:MaxPermSize=256M -XX:ReservedCodeCacheSize=64m -Xss2048k"</p>
</blockquote>
<p>on MS Windows.</p>
<h3>Full Build</h3>
<p>A fast build that skips all tests, generates no reports and creates full distribution archives is as follows:</p>
<blockquote>
<p>mvn -Dsurefire.useFile=false -DdisableXmlReport=true -DuniqueVersion=false -ff -Dassemble -DskipTests -DfailIfNoTests=false clean install</p>
</blockquote>
<p>The full build with tests takes around 2 hours:</p>
<blockquote>
<p>mvn -Dassemble clean install</p>
</blockquote>
<p>The output of those commands should end with "BUILD SUCCESSFUL"</p>
<p>It is of course possible to just compile and test individual modules. Just change to the module directory and run the same commands as above.</p>
<h3>Quick Build</h3>
<p>If you are in real a hurry (and let's face it most of us are) you can run a quick build without the examples using the <em>quick</em> profile:</p>
<blockquote>
<p>mvn -Pquick -Dsurefire.useFile=false -DdisableXmlReport=true -DuniqueVersion=false -ff -Dassemble -DskipTests -DfailIfNoTests=false clean install</p>
</blockquote>
<h3>Binary locations</h3>
<p>Once built, the TomEE binaries will be located at:</p>
<pre><code>ls [project]/tomee/apache-tomee/target/*.zip
tomee/apache-tomee/target/apache-tomee-jaxrs-[version]-SNAPSHOT.zip
tomee/apache-tomee/target/apache-tomee-plus-[version]-SNAPSHOT.zip
tomee/apache-tomee/target/apache-tomee-webprofile-[version]-SNAPSHOT.zip
tomee/apache-tomee/target/apache-tomee-plume-[version]-SNAPSHOT.tar.gz
</code></pre>
<p>The OpenEJB standalone binaries will be located at:</p>
<pre><code>ls [project]/assembly/openejb-standalone/target/*.zip
assembly/openejb-standalone/target/apache-openejb-[version]-SNAPSHOT.zip
</code></pre>
<div id="edit" class="modal hide fade in" style="display: none; ">
<div class="modal-header">
<a class="close" data-dismiss="modal">x</a>
<h3>Thank you for contributing to the documentation!</h3>
</div>
<div class="modal-body">
<h4>Any help with the documentation is greatly appreciated.</h4>
<p>All edits are reviewed before going live, so feel free to do much more than fix typos or links. If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it. Don't be surprised if we like it so much we ask you for help with other pages :)</p>
<small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
<!--[if gt IE 6]>
<h4>Internet Explorer Users</h4>
<p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
<![endif]-->
</div>
<div class="modal-footer">
Do you have an Apache ID?
<a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
<a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
</div>
</div>
<script src="./../resources/js/bootstrap-modal.js"></script>
<footer>
<p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</footer>
</div> <!-- /container -->
<!-- Javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./../resources/js/bootstrap-dropdown.js"></script>
</body>
</html>