Prequisites
- Check out or download as a ZIP file the Codehaus Cargo source code from Github into a
CARGOHOME
directory (wherever you want on your machine). - Install Maven 3.2.3 or later. Verify your installation works by running the following command in a command prompt / terminal window:
mvn --version
Building
To build Codehaus Cargo:
- Go to
CARGOHOME
and runmvn install
This will build the full Cargo project. - If you wish to clean all build-generated files,
cd
toCARGOHOME
and runmvn clean
First time build
The Codehaus Cargo build contains functional tests. Those tests are run on different containers. The first time you build Codehaus Cargo it will download those container distributions which will take some time (the containers are installed into core/samples/java/installs
). If you want to tell Codehaus Cargo to run only on some specific container, see below.
Selecting containers
The default list of containers to run on depends a property cargo.containers
defined in CARGOHOME/core/samples/pom.xml
. It can also be supplied at the command line by using profiles (-P<containerId>
).
For example if you only want to run on Tomcat 8.x you'd run: mvn -Ptomcat8x clean install
Proxy settings
If you need to build Codehaus Cargo from behind a proxy, proceed as follows:
- Edit the
.m2/settings.xml
file from your home directory (C:\Documents and Settings\username
orC:\Users\username
on Windows), - Comment out the
<proxy>
element and fill in the proxy server settings accordingly.
HTTPS / TLS handshake errors (in Java 7)
With Java 7 you might get errors such as: Received fatal alert: protocol_version
To work around the issue, enable the TLS 1.2 protocol using the associated Java property - For the build itself, as well as for tests (run using surefire and with the invoker plugin). Example:
mvn -Dhttps.protocols=TLSv1.2 -DargLine="-Dhttps.protocols=TLSv1.2" -Dinvoker.mavenOpts="-Dhttps.protocols=TLSv1.2" clean install