- Maven >= 3.3.1
- Java >= 8
- All modules should use only one primary build system
- It should be super-easy for new contributors to get started (A new contributor should be able to checkout and build with a core testsuite with a simple: 'mvn package' run)
- New code should only be accepted, if there are tests (Currently the java part of the build is configured to fail if the code coverage is below 90%)
- Development should be done in Java >=9
- Providing Java 7 compatible versions should be possible by using the retrolambda plugin
- Usage of default implementations does cause more problems than it solves in this case.
- For formatting there is a .editorconfig defined. Intellij Idea come with a plugin for this pre-installed, for eclipse an installation is required (https://editorconfig.org/).
- Import organizing uses the Intellij Idea default:
- Import order
- all other imports
- blank
- import javax.*
- import java.*
- blank
- all other static imports
- Star imports
- number of imports needed for .* = 5
- number of static-imports needed for .* = 3
- Import order