-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Guide
This guide describes how to set up a development environment to build the tutorials -- or to work on Xenon. See the Implementors Guide for more information on the tutorials, and working with Xenon in your application. The Contributing Guide has the up to date information on how to contribute to Xenon.
- Java 8 JDK installed on your OS of choice (Mac OSX, Linux variants, Windows are all supported hosts)
- Eclipse Luna or a modern IDE of your choice. Make sure to apply the same formatting profile for code.
- Git for source code management.
- Find bugs for static code analysis. Please run before check-in.
Maven is used to build and test the project.
- Install Maven with your system's package manager (e.g. apt on Ubuntu/Debian, homebrew on OSX, ...).
- Set your
JAVA_HOME
environment variable to be the home of the Java 8 JDK. On OSX, this lands in/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/
. - Run
mvn test
to run the tests.- Run
mvn -Dtest={test-name} test
to run a single test (http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html)
- Run
- Run
mvn package
to build and package Xenon - Run
mvn -DskipTests package
to package everything and skip running the tests. (Not recommended.)
Tip: See which goals are bound to which phases for a particular command:
mvn help:describe -Dcmd=compile
Up to date information can be found on building and using the Xenon Docker Images here
Resulting JAR goes to xenon-host/target/xenon-host-*-with-dependencies.jar
.
-
mvn clean package -DskipTests
(packages without running tests) - To start the default service host and poke it with a HTTP client see this debugging page section
After reading more on the programming model and how a service works, please refer to the example service tutorial to learn about a simple service that is already started as part of the production service host, and enables you to interact with the system. In addition you can follow the guide for serving your service with a default or custom user interface.
To create a new service host, that starts custom services, in its own jar, please see the custom service hosting tutorial
Please refer to the debugging page for information on how to effectively debug a decentralized, 100% asynchronous system like Xenon.