Submit a new issue only if you are sure it is a missing feature or a bug. For questions or if you are unsure discuss the topic in our forum.
For new translations or fixes to existing translations, please refer to this documentation.
Issues for newcomers are tagged with 'good first issue' and documentation issues are tagged with 'documentation'.
-
Fork the repo and create a branch for your new feature or bug fix.
-
Run the tests. We only take pull requests with passing tests:
mvn clean test verify
-
Add at least one test for your change. Only refactoring and documentation changes require no new tests. Also make sure you submit a change specific to exactly one issue. If you have ideas for multiple changes please create separate pull requests.
-
Make the test(s) pass.
-
Push to your fork and submit a pull request. A button should appear on your fork its github page afterwards.
All contributions like pull requests, bug fixes, documentation changes and translations fall under the Apache License and contributors agree to our contributor covenant code of conduct.
We use IntelliJ defaults and a very similar configuration for NetBeans defined in the root pom.xml. For eclipse there is this configuration. Also for other IDEs it should be simple to match:
- Java indent is 4 spaces
- Line width is 100 characters
- The rest is left to Java coding standards but disable "auto-format on save" to prevent unnecessary format changes.
- Currently we do not care about import section that much, avoid changing it
- Unix line endings (should be handled via git)
- See discussion in #770
And in case we didn't emphasize it enough: we love tests!