= Contribute to TomEE
:jbake-date: 2016-03-16
:jbake-type: page
:jbake-status: published

== GitHub

TomEE is on GitHub at https://github.com/apache/tomee . The sources are synchronized by Apache on GitHub
but Pull/Requests are integrated with Apache Infrastructure which means you can just submit us a patch as
you would do on any other GitHub project and Apache takes care of the rest of the process.

== Apache Git

TomEE is using https://git-scm.com/[Git] as source content manager.

The master sources are on https://gitbox.apache.org/repos/asf/tomee.git and you can clone them using the following command:

[source]
----
git clone https://gitbox.apache.org/repos/asf/tomee.git tomee-master
----

If you are interested in 1.7.x branch only just checkout the `tomee-1.7.x` branch:

[source]
----
git clone -b tomee-1.7.x https://gitbox.apache.org/repos/asf/tomee.git tomee-1.7.x
----

Master branch is the more up to date version of the codebase and currently targets TomEE 8.x branch.

== Building

TomEE is a standard Maven project and to build it you just have to use the following command:

[source]
----
mvn clean install
----

TIP: you can need to tune your environment variable `MAVEN_OPTS`, a commonly use value is `-Xmx1536m -XX:PermSize=64m -XX:MaxPermSize=384m`

NOTE: if you are interested in testing arquillian tests with all adapters of tomee you will need to activate the dedicated profile: `-Pall-adapters`.

=== Fast build

Here are some shortcut builds if you just want to create a specific artifact (note it skips tests but removing `-DskipTests` you will execute them):

- TomEE zip/tar.gz:

[source]
----
mvn clean install -DskipTests -pl tomee/apache-tomee -am
----

Then TomEE archives are at `tomee/apache/tomee/target/apache-tomee-$\{classifier}-$\{version}.$\{extension}`.

== Continuous Integration

TomEE is using Jenkins CI for its continuous integration. You can access builds at these address:

- https://ci-builds.apache.org/job/Tomee/[TomEE @ Jenkins CI]

== Issues

TomEE uses Jira for issues, if you are looking for a problem or reporting one, use the following address:

- Create a ticket on https://issues.apache.org/jira/browse/TOMEE

- Open a PR in the GitHub mirror with the ticket number e.g. `TOMEE-1000 - Ticket Description`
