Java code in the aurora repo is built with Gradle.

Getting Started

You will need Java 7 installed and on your PATH or unzipped somewhere with JAVA_HOME set. Then

./gradlew tasks

will bootstrap the build system and show available tasks. This can take a while the first time you run it but subsequent runs will be much faster due to cached artifacts.

Running the Tests

Aurora has a comprehensive unit test suite. To run the tests use

./gradlew build

Gradle will only re-run tests when dependencies of them have changed. To force a re-run of all tests use

./gradlew clean build

Creating a bundle for deployment

Gradle can create a zip file containing Aurora, all of its dependencies, and a launch script with

./gradlew distZip

or a tar file containing the same files with

./gradlew distTar

The output file will be written to dist/distributions/aurora-scheduler.zip or dist/distributions/aurora-scheduler.tar.

Developing Aurora Java code

Setting up an IDE

Gradle can generate project files for your IDE. To generate an IntelliJ IDEA project run

./gradlew idea

and import the generated aurora.ipr file.

Adding or Upgrading a Dependency

New dependencies can be added from Maven central by adding a compile dependency to build.gradle. For example, to add a dependency on com.example's example-lib 1.0 add this block:

compile 'com.example:example-lib:1.0'

NOTE: Anyone thinking about adding a new dependency should first familiarize themself with the Apache Foundation's third-party licensing policy.

Developing Aurora UI

Installing bower (optional)

Third party JS libraries used in Aurora (located at 3rdparty/javascript/bower_components) are managed by bower, a JS dependency manager. Bower is only required if you plan to add, remove or update JS libraries. Bower can be installed using the following command:

npm install -g bower

Bower depends on node.js and npm. The easiest way to install node on a mac is via brew:

brew install node

For more node.js installation options refer to https://github.com/joyent/node/wiki/Installation.

More info on installing and using bower can be found at: http://bower.io/. Once installed, you can use the following commands to view and modify the bower repo at 3rdparty/javascript/bower_components

bower list
bower install <library name>
bower remove <library name>
bower update <library name>
bower help

Developing the Aurora Build System

Bootstrapping Gradle

The following files were autogenerated by gradle wrapper using gradle 1.8's Wrapper plugin and should not be modified directly:

./gradlew
./gradlew.bat
./gradle/wrapper/gradle-wrapper.jar
./gradle/wrapper/gradle-wrapper.properties

To upgrade Gradle unpack the new version somewhere, run /path/to/new/gradle wrapper in the repository root and commit the changed files.