Skip to content

Developer Documentation

John Verhaeg edited this page Aug 21, 2014 · 14 revisions

Table of Contents

Building Polyglotter

We use Maven to build our software. The following command compiles all the code, installs the JARs into your local Maven repository, and runs all of the unit tests:

$ mvn clean install

Running all of the tests may take a while so, alternatively, you can specify -Dskip.integration.tests=true to skip all integration tests, which generally take longer to run:

$ mvn clean install -Dskip.integration.tests=true

You may also skip unit tests by adding -Dskip.unit.tests=false:

$ mvn clean install -Dskip.unit.tests=true

Contributing

Polyglotter is open source, and we welcome anybody that wants to participate and contribute! If you want to report a bug or request an enhancement, please log a new issue in the GitHub issue tracker describing the bug or new feature.

If you want to get even more involved, contribute code. Simply create a fork of this project, develop a solution to one of the logged issues, commit it to your fork, and submit it via a pull-request. All submissions must have an associated issue logged, so please make sure to reference the applicable issue in your commit comment using a pound or hash symbol (#) followed by the issue number.

Testing

We want to ensure the quality of our product, so all code submitted must be accompanied by applicable unit and/or integration test additions or updates that fully test the behavior of your code. Test should follow the Behavior-Driven Design (BDD) philosophy, make Hamcrest assertions for whatever is being tested, and use Mockito mock objects when working with object outside of what's being unit tested.

Unit test names should have the suffix "Test", while integration (and long-running) test names should have an "IT" prefix and not have a "Test" suffix.

Note also that the integration tests for the Modeler Engine use the Modeler Java Extension as a reference implementation, and thus reside under its test source folder.