Title: BuildingAries

<a name="BuildingAries-ExtractingandbuildingAries"></a>

<a name="BuildingAries-Prereqs"></a>
## Prereqs

 * Maven 3.2.5 (mvn --version). Current maven 3.3.x has an error with parent poms
 * Subversion client >= 1.8.x
 * Eclipse Luna http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2

<a name="BuildingAries-CheckoutAndBuild"></a>
## Checkout and build on the command line

 * Check out sources: svn co https://svn.apache.org/repos/asf/aries/trunk aries
 * cd aries
 * mvn clean install -DskipTests=true

You should now have succesfully compiled aries trunk.
As a next step you can run the tests too.

* mvn clean install -fae

<a name="BuildingAries-ImportIntoEclipse"></a>
# Import into eclipse using m2e

* Start eclipse. Use a workspace directory separate from your source checkout of aries
* File -> Import -> Maven -> Existing maven projects -> Browse to aries directory -> Select the projects to import -> Finish
* At some projects you might see some markers that m2e does not know how to work with certain maven plugins. Use the Ctrl-1 shortcut on these markers and set them to be ignored and let eclipse store this in the eclipse preferences. Do not select to add the ignore to the maven poms.

After these steps you should have imported your selected aries projects into eclipse. 

<a name="BuildingAries-Outofmemoryerrors"></a>
# Out of memory errors
You may find that building Aries fails with out of memory exceptions on
some systems (eg Mac)  if you use the standard Java settings. Setting the
two environment variables as shown below may help.

export MAVEN_OPTS="-XX:MaxPermSize=128m -Xms512m -Xmx512m"

