Build from sources

Building from sources

This page describe how to build products developed after the end of 2009 (ie. products taking part of AllInOne suite 1.6.1 and after or products based on GateIn).
For older products, please read the Building from sources (legacy) guide.

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).
Here is a table of latest supported versions of applications servers :
Application serverDownload siteVersion number
Apache Tomcathttp://tomcat.apache.org6.0+
JBoss AShttp://www.jboss.org4.2.0+
OW2 JOnAShttp://jonas.objectweb.org4.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

This will check out trunk for all project sources.

If you are interested by AllInOne suite products you can grab them here :

svn co http://svn.exoplatform.org/aliases/aio/branches/aio-1.6.x/ exo-aio-1.6.x
Alternatively, this page explains how you can check out a different subset of the main projects directory.

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"

Save the attached file settings.xml to ${HOME}/.m2/settings.xml

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

This command can be launched from any subdirectory.

Maven we'll take a long long time to download required dependencies the first time. After that he'll just check one time per day if new SNAPSHOTs were built by our integration server (http://builder.exoplatform.org)

5.1 AllInOne 1.6.x products

To build a tomcat or jboss distribution, just add -Ppkg in the command line. The product we'll be in the project directories tree under packaging/pkg (ks, cs, ecm/wcm ...)

5.2 GateIn based products

To build a tomcat or jboss distribution, just add -Ptomcat-pkg or -Pjboss-pkg in the command line. The product we'll be in the project directories tree under packaging/pkg (ks, cs, ecm/wcm ...)

Tags:
Created by Arnaud Héritier on 04/27/2010
Last modified by Sören Schmidt on 05/30/2010

Products

generated on Thu Sep 02 15:20:39 UTC 2010

eXo Optional Modules

eXo Core Foundations


Copyright (c) 2000-2010. All Rights Reserved - eXo platform SAS
2.4.30451