Development Environment

This article describes the Omneity development environment.

Although you can use any Java development environment you like to develop with Omneity it is assumed you will set up an environment similar to the one described here. The reason for this is that it makes it easier to diagnose problems relating to environments (so people can help one another more) and it is generally easier to keep all developers 'on the same page' if we all use the same environment.

JAVA
Java 1.6 is the current project standard.

IDE
The project currently encourages the use of Eclipse Indigo.

Eclipse plugins
The following plugins are required:

Javadoc setup
In order to maintain complete Javadocs (although not, sadly, guaranteeing quality) turn on Javadoc checks and make them Errors.

Go to the workspace (or, if you are sharing Omneity workspace with other projects, project) preferences.


 * 1) Under Java—Compiler—Javadoc
 * 2) Ensure Process Javadoc comments is checked.
 * 3) Set Malformed Javadoc comments to Error.
 * 4) Check the Validate tag arguments checkbox.
 * 5) Set Validate tag descriptions to Validate all standard tags</tt>
 * 6) Set Missing Javadoc tags</tt> to Error</tt>
 * 7) Set Missing Javadoc comments</tt> to Error</tt>
 * 8) Set all Only consider members as visible as</tt> to Public</tt>
 * 9) Check all Ignore in overriding and implementation methods</tt> checkboxes.
 * 10) Check the Ignore method type parameters</tt> checkbox.

Maven
The project uses Maven3 to manage external dependencies and builds.

Git
The project uses Git for revision control. The project is hosted on GitHub.

Formal Builds
A formal build system based on Linux will be used for continuous integration builds and formal release builds from the GitHub repository.

Felix
The Apache Felix framework will be used for non-UI components (Eclipse and web browsers will be used for UI components).

Testing will also be done with other OSGi R4 frameworks, but Apache Felix will be the reference framework used on the project.

This article was used initially to set up to run Felix in Eclipse.

To make setup easier you can get the latest Felix launcher for GitHub:

git clone https://github.com/ITSLM/OMNEITY-felix-environment.git felixLauncher

(If you clone this to the same parent directory as hold the Omneity code it should work without modification.)

Testing
Tests will be written using TestNG and run using Maven's Surefire framework.

PAX Exam will be used for in-container testing.

Other setup
This setup will gradually be automated, but for now it's a manual process.


 * Logging