Build from sources
Building from sources
1 Overview
The community distribution of eXo Platform is built very frequently by the open source project members. The corresponding binaries are uploaded to the OW2 forge. Although the high frequency allows to get quick bug fixes, it might be needed sometimes to build eXo Platform from the sources. This page gives detailed instructions. eXo Platform is built using Maven. After you have built, you should go to the Developers page, where you find hints for the use with Ecplise and Intellij.2 Pre-requisites
- Download, install and add in your path JDK (Java Development Kit) 5.0 for AllInOne 1.6.x products.
- Download, install and add in your path JDK (Java Development Kit) 6.0 for GateIn based products.
- Download, install, add in your path Maven 2.2.1
- Download application servers you'll want to use and extract them into a directory (let's call it $APPLICATIONS_DIRECTORY).
| Application server | Download site | Version number |
|---|---|---|
| Apache Tomcat | http://tomcat.apache.org | 6.0+ |
| JBoss AS | http://www.jboss.org | 4.2.0+ |
| OW2 JOnAS | http://jonas.objectweb.org | 4.8.4+ |
3 Check out the source code
eXo source code is hosted in a Subversion repository at http://svn.exoplatform.org/projects. Before you proceed, you need to install a command line subversion client. Checkout the source code into a new directory :svn co http://svn.exoplatform.org/aliases/head exo-trunks
svn co http://svn.exoplatform.org/aliases/aio/branches/aio-1.6.x/ exo-aio-1.6.x
4 Configure
Add a system environment variable MAVEN_OPTS (it could be in a .profile startup script on Linux/MacOS operating systems or in global environment variables panel on Windows).- Windows :
set MAVEN_OPTS=-Xshare:auto -Xms128M -Xmx1G -XX:MaxPermSize=256M
- Linux/MacOS :
export MAVEN_OPTS="-Xshare:auto -Xms128M -Xmx1G -XX:MaxPermSize=256M"Edit it, and change in the local-properties profile the path of the directory where you added application servers (exo.projects.directory.dependencies must be the path of $APPLICATIONS_DIRECTORY) and the name of each application server directory must be set in *.version properties (exo.projects.app.tomcat.version, exo.projects.app.jboss.version, exo.projects.app.jonas.version). Note : If you have an existing file settings.xml you can merge them all together. You'll need at least
- the local-properties profile to define properties used to build application servers distributions of our products
- the repository http://repository.exoplatform.org/public to download our dependencies
5 Build and assemble product
To build any product, in the root directory where you checked-out the code just launch :mvn install