-
Notifications
You must be signed in to change notification settings - Fork 5
Developer Documentation
- Building Chrysalix
- Contributing
- Testing
- Architecture and Design
- Project Management
- Planning (Roadmap & Milestones)
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
Chrysalix 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.
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. Tests 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 Modelspace Engine use the Modelspace Java Extension as a reference implementation, and thus reside under its test source folder.