Contributions to Strata are very welcome.
Reporting a bug
Please raise all bugs as Github Issues. If possible please include the following (where relevant):
- A short description of the bug.
- An explanation as to what caused the problem. Please be as detailed as possible.
- Perhaps attach a stack trace.
- Perhaps include sample code that triggers the bug.
- Perhaps attach input data that triggers the bug.
- If you have knowledge of the domain, perhaps suggest reasons why the problem occured.
- The version of Strata on which the bug occurred.
- JDK version and operating system.
Submitting a patch
If you have a patch for anything from a bug right through to a full-blown feature, the process for inclusion of your code into Strata is essentially the same.
- Fork Strata on Github.
- From your fork of Strata create a pull request in GitHub against
masterbranch of the main repository).
- If necessary (particularly for large contributions) we will email you a legal indemnity form to sign and return.
- We will check your patch passes in CI and meets our quality standards (see below on how to get a patch accepted).
- If everything is fine your patch will be accepted and be merged. Thanks!
How to get a patch accepted
The easiest way to get a patch accepted is to follow these rules:
- The patch must not break or remove any existing tests.
- The patch must not break backwards compatibility.
- The patch must meet our visual code standards (see here on how to get automatic formatting and templating).
- If the patch is adding new features it must:
- Include the appropriate new tests.
- Include Javadoc and, if applicable, additional documentation.
- Not add additional dependencies to Strata.
- Not use proprietary classes e.g.
- Be platform-independent (think file system differences etc.)