Building the source code
Added by Jim Moores, last edited by Jim Moores on Jul 15, 2013
Overview
The source code of the OpenGamma Platform consists of many
projects/modules arranged in a logical structure.
The primary build system that manages the projects is Apache Maven. The
directory layout matches the standard recommended layout for Maven.
Building OpenGamma
To build OpenGamma and install it into the local repository, run this
command from the root of OG-Platform:
mvn clean install
or, to skip unit tests, run
mvn clean install -DskipTests
This will clean the working directory, target, build all the projects and
install them into the local Maven repository.
The first time you run the build, all of the necessary
dependencies will be downloaded from the central
Maven server and our Maven server. This will take
some time. Subsequent builds will use the files cached
in the local Maven repository.
Example servers
The OG-Platform source tree contains two example servers. There are
two ways to run them following a build:
run the servers using the Maven plugin
run the servers using the scripts
The former is useful for development when not using an IDE. The latter
more closely simulates a production deployment.
Invoking maven commands.
Maven targets can be invoked in any project where there is a pom.xml
file. However, until you are familiar with Maven, we would recommend
working at the top level.
Explore our developer-friendly HTML to PDF API Printed using PDFCrowd HTML to PDF
About Maven
Maven is a build system based around a single descriptor file known as the
"pom". It is an XML file named pom.xml. The file describes the nature of
the artifact and how it is built.
The Maven command line consists of various parts:
The mvn command
A number of options to control Maven itself, not discussed here
A number of options passed to the build, typically starting with -D
The lifecycle phase to run
The last of these is the most important. The main phases are:
validate - initial validation of the setup
compile - compiles the source code
package - builds any jar, zip and tar files, known as artifacts
install - installs the artifacts into the local Maven repository
deploy - deploys the artifacts to the remote Maven repository
site - builds a website
This is not a full guide to Apache Maven, as that is a
vast and complex community of projects. There is lots
of information available on the main Maven website
and via your favourite search engine.
Website
Maven is capable of producing a basic website about the Platform. This is
most useful for the Javadocs contained within.
mvn site site:stage
The built site will be placed in this folder:
OG-Platform/target/staging
Child Pages (3)
Hide Child Pages | Reorder Pages
Running tests
Running the server from Maven
Running the server from scripts
Explore our developer-friendly HTML to PDF API Printed using PDFCrowd HTML to PDF