Concepts (open for discussion)
Requirements
General
- 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%)
Java Specific
- 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.