If you have questions about how to use the project, please direct these to the mailing list.
If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to our GitHub Repository. You may also submit a Pull Request with a fix.
The project uses a mixture of Cucumber and JUnit tests. When implementing a new feature or bugfix, please add appropriate test coverage before sending along a Pull Request.
When implementing a new feature or bugfix, you want to ensure the you have appropriate test coverage. Here is an example of the code structure for a single feature (UsagePoint REST API).
- Write a Cucumber feature test
- Implement the Controller
- Implement the Service Layer
- Implement the Repository Layer
- Implement the Domain Object
Note that each of the classes linked above reference many other classes that are individually unit and integration tested.
Before you submit your pull request consider the following guidelines:
-
Search the Common module, the DataCustodian module and the ThirdParty module for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort.
-
Create a fork of the project you'd like to contribute to.
-
Make your changes in a new git branch
git checkout -b my-fix-branch master
-
Create your patch, including appropriate test cases.
-
Commit your changes and create a descriptive commit message:
git commit -a
-
Build your changes locally to ensure all the tests pass
mvn clean install
-
Push your branch to Github:
git push origin my-fix-branch
-
In Github, send a pull request.
-
If we suggest changes then you can modify your branch, rebase and force a new push to your GitHub repository to update the Pull Request:
git rebase master -i git push -f
That's it! Thank you for your contribution!