Building deegree3 - deegree/deegree3 GitHub Wiki

This page describes how to build deegree3 from the command line.

System requirements

Cloning the deegree3 repository

First, you will need to clone the deegree3 repository. On the command line, change to a suitable directory and enter:

git clone git://github.com/deegree/deegree3.git

You'll probably want to fork the deegree3 repository and clone your fork instead (just replace the deegree part with your GitHub username).

Choosing the version to build

Now, change to the deegree3 directory and check out the version that you want to build, e.g.

git checkout main

Hint: Use git checkout 3.5-main to get the latest 3.5.x version using Java 11. Use git checkout 3.4-main to get the latest 3.4.x version using Java 8. Or use git tag to find out all tags (versions) that can be checked out. The following command shows the list of all tags:

git tag | grep "^deegree-[0-9].*\|^[0-9]." | sort

Pick a tag and enter:

git checkout tags/deegree-3.5.0

Invoking Maven

Invoke Maven to start the build process:

mvn install

This will build deegree-webservices and all dependent deegree3 modules. You can find the deegree-webservices artifacts in deegree-services/deegree-webservices/target.

List of Maven profiles

There are several Maven profiles available to modify the build process, e.g. use

mvn install -P oracle,handbook

to enable support for Oracle Spatial and build the user handbook.

Here's a full list of available Maven profiles:

  • handbook: builds the deegree webservices handbook
  • integration-tests: runs integration tests (these take a couple of minutes)
  • oracle: builds the Oracle SQL dialect

To show all available profiles use

mvn help:all-profiles | grep 'Profile Id' | sort -u

Running integration tests

In order to check if your code changes compile correctly and do not break any existing functionality, perform a clean build and run the integrations tests:

mvn clean install -P integration-tests

Building API documentation with JavaDoc

To build the API documentation run:

export MAVEN_OPTS="-Xmx2g" (Linux/Mac)
SET MAVEN_OPTS="-Xmx2g" (Windows)
mvn javadoc:javadoc
# or to build the complete Maven site:
mvn site 

To deploy the site use:

mvn site-deploy

How to setup your IDE

Proceed with setting up deegree local working copy in your IDE.