This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 81 Next »

Building Camel from Source

Camel uses Maven as its build and management tool. If you don't fancy using Maven you can use your IDE directly or Download a distribution or JAR.

Prequisites

Required:

  • Download and install Maven
    (Maven 3.1.1 or newer is required to build Camel 2.14 onwards)
    (Maven 3.2.5 or newer is required to build Camel 2.18 onwards) 
  • Get the latest Source
  • Java
    (1.7 or 1.8 to build Camel 2.14 onwards)
    (1.8 to build Camel 2.18 onwards) 

Maven options

To build camel maven has to be configured to use more memory

Unix/Linux/Mac
export MAVEN_OPTS="-Xms3000m -Xmx3000m -XX:MaxPermSize=512m"
Windows
set MAVEN_OPTS=-Xms3000m -Xmx3000m -XX:MaxPermSize=512m

A normal build

mvn clean install

A normal build without running tests

mvn clean install -Pfastinstall

A normal build without running tests but checkstyle verification enabled

mvn clean install -Pfastinstall,sourcecheck

Doing a Quick Build

Available as of Camel 2.6

The following skips building the manual, the distro and does not execute the unit tests.

mvn install -Pfastinstall

Building source jars

If you want to build jar files with the source code, that for instance Eclipse can important so you can debug the Camel code as well. Then you can run this command from the camel root folder:

mvn clean source:jar install -Pfastinstall

Working with karaf features

If you change anything in the features.xml from platform/karaf you can run a validation step to ensure the generated features.xml file is correct. You can do this running the following maven goal from the platform directory.

mvn clean install -Pvalidate

Executing unit tests using Ekstazi

Normally, when you execute the unit tests during your development cycle for a particular component, you are executing all the tests each time. This may become inefficient, when you are changing one class and the effect of this change is limited within the component having many unit tests. Ekstazi is a regression testing tool that can keep track of the test results and the changed classes so that unaffected tests can be skipped during the subsequent testing. For more details of Ekstazi, please refer to the Ekstazi page at http://www.ekstazi.org.

To use Ekstazi, you can run the tests with the maven profile ekstazi.

mvn test -Pekstazi

See Also

  • No labels