- 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 8
- 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.