diff --git a/CHANGELOG b/CHANGELOG index 8575d23..0014081 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,10 +1,10 @@ CHANGELOG ========= -3.3.0 +4.0.0 ----- -* Use `kemitix-quality-maven-plugin` to replace some plugins +* [BREAKING] Use `kemitix-quality-maven-plugin` to replace some plugins - required 100% code and mutation coverage by default * Upgrade `maven-antrun-plugin` 1.3 -> 1.8 * Upgrade `maven-release-plugin` 2.3.2 -> 2.5.3 * Upgrade `maven-javadoc-plugin` 2.10.4 -> 3.0.0-M1 diff --git a/README.md b/README.md index ec759b7..5721f4d 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,8 @@ desired value. * project.build.sourceEncoding * project.reporting.outputEncoding * kemitix.build.directory -* kemitix-checkstyle-ruleset.version -* kemitix-checkstyle-ruleset.level +* kemitix-quality-maven-plugin.version * lombok.version -* digraph-dependency.version -* digraph-dependency.basePackage -* required-maven.version -* maven-enforcer-plugin.version * maven-javadoc-plugin.version * maven-source-plugin.version * maven-gpg-plugin.version @@ -36,48 +31,17 @@ desired value. * maven-compiler-plugin.version * maven-surefire-plugin.version * maven-failsafe-plugin.version -* maven-pmd-plugin.version -* huntbugs.version -* jacoco-maven-plugin.version -* highwheel-maven.version -* pitest.version * maven-jxr-plugin.version -* jacoco-class-line-covered-ratio -* jacoco-class-instruction-covered-ratio -* jacoco-class-missed-count-maximum * java.version * versions.version * coveralls-maven-plugin.version -## Checkstyle +## Kemitix Quality -The Checkstyle plugin is configured using the -`kemitix-checkstyle-ruleset-maven-plugin`. +The [kemitix-quality-maven-plugin](https://github.com/kemitix/kemitix-quality-maven-plugin) +provides several preconfigured quality related plugins. -The `kemitix-checkstyle-ruleset` provides five levels of checks. The -default is set to `5-complexity`, the most strict. It runs during the -`validate` phase. - -### Configuration - -Set the property `kemitix-checkstyle-ruleset.level` to one of the -following values to select a less-strict ruleset: - -* 1-layout -* 2-naming -* 3-javadoc -* 4-tweaks -* 5-complexity - -## Maven Enforcer Plugin - -Ensures that a suitable version of Maven is being used. - -Runs it's `display-info` and `enforce` goals during the `validate` phase. - -### Configuration - -* requireMavenVersion: ${required-maven.version} +N.B. The Kemitix Quality plugin required 100% code instruction coverage and mutation ratio. See the project page for details of adjusting these levels if needed. ## Maven Compiler Plugin @@ -115,52 +79,6 @@ goal during the `verify` phase. No configuration applied beyond the defaults. -## Maven PMD Plugin - -The [Maven PMD Plugin](https://maven.apache.org/plugins/maven-pmd-plugin/index.html) -runs the [PMD](http://pmd.sourceforge.net/) code analysis. - -Runs its [pmd](https://maven.apache.org/plugins/maven-pmd-plugin/pmd-mojo.html) -and [cpd](https://maven.apache.org/plugins/maven-pmd-plugin/cpd-mojo.html) goals -during the `compile` phase. - -### Configuration - -No configuration applied beyond the defaults. - -## Huntbugs Maven Plugin - -The [Huntbugs Maven Plugin](https://github.com/amaembo/huntbugs) is a -static code analyser. - -Runs during the `compile` phase. - -### Configuration - -No configuration applied beyond the defaults. - -## Jacoco Maven Plugin - -The [Jacoco Maven Plugin](http://eclemma.org/jacoco/trunk/doc/maven.html) -provides code coverage analysis after your tests have run. - -### Configuration - -#### Classes - -For each class not excluded the Lines Covered Ratio must be at least 50%. - -For each class not excluded the Instructions Covered Ration must be at least -80%. - -Excluded from analysis: - -* `*Test` - test classes -* `*IT` - integration test classes -* `*Main` - main classes -* `*Application` - application classes -* `*Configuration` - (Spring) configuration classes - ## Maven Source Plugin The [Maven Source Plugin](https://maven.apache.org/plugins/maven-source-plugin/) @@ -204,67 +122,6 @@ produces cross-referenced HTML pages of your source code. No configuration applied beyond the defaults. -## Highwheel Plugin - -The [Highwheel Plugin](https://github.com/hcoles/highwheel) -generates a report for packages and classes at `target/highwheel/index.html` -that highlights where there are cyclic dependencies between packages and between -classes. - -### Configuration - -The plugin will `analyse` the project during the `verify` phase. - -## Pitest Plugin - -The [Pitest Plugin](http://pitest.org/) -provides mutation testing for classes found in the generated `target` -directory. - -### Configuration - -The plugin with perform mutation tests during the `verify` phase. - -By default, classed named `Immutable*`, will not be included. -(e.g. classes generated by `org.immutables:value`) - -The following properties can adjust the default configuration. - -#### `pitest.skip` - -Default is `false`. - -Set this to `true` to disable the **Pitest Plugin**. - -#### `pitest.coverage` - -Default is `0`%. (i.e. disabled) - -Line coverage at which to fail build. - -#### `pitest.mutation` - -Default is `0`%. (i.e. disabled) - -Mutation score threshold at which to fail build. - -#### `pitest.failWhenNoMutations` - -Default is `true`. - -Set this to `false` to not fail build when there are no mutations. - -## Digraph Dependency Plugin - -The [Digraph Dependency Plugin](https://github.com/kemitix/digraph-dependency-maven-plugin) -generates a DOT file diagram showing the dependencies between packages in a project. - -### Configuration - -The plugin will generate the `target/digraph.dot` file during the `validate` phase. - -Set the `digraph-dependency.basePackage` property to the root package to graph. - ## Coveralls The [Coveralls Maven Plugin](https://github.com/trautonen/coveralls-maven-plugin) diff --git a/pom.xml b/pom.xml index 588a62a..9b0672e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ net.kemitix kemitix-parent - 3.3.0-SNAPSHOT + 4.0.0-SNAPSHOT pom Kemitix Parent