Due to various pains regarding multi-release JARs (lack of support in Maven and Jacoco), and no well-defined way to run tests against different JDKs in Maven (i.e. toolchains per plugin execution) - the build is
dependent on JDK paths. And while the modules and tests run against Java 8, 9 and 10 - the build itself must be launched with Java 8.

Building

This project uses maven-toolchains-plugin, so you’ll need to setup toolchains.
Examples for various OS/architectures can be found here

With toolchains configured, run mvn clean install.

When modifying the code beware/be-aware the build will fail if Maven POMs, license headers, Java source or Javascript source aren’t formatted according to conventions (Apache Maven’s standards for POMs, my own undocumented formatting for source). To auto-format the lot, simply run mvn -P '!strict,tidy'.

To run PiTest use mvn -P analyze clean install

To run against SonarQube use mvn -P analyze,report,sonar

SCA Metrics

Due to issues with Jacoco vs mutli-release JARs, coverage reports are currently only available via SonarCloud.

Roadmap

TODO

Back to top

Version: 0.1.0. Last Published: 2018-10-08.

Earcam Maven Skin.