From 667bd9ced826029bb43f45fb6b83265000dd5983 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sat, 22 Jul 2017 12:39:12 +0100 Subject: [PATCH 1/8] version: set to 3.3.0-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2d992d1..7e50d3e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ net.kemitix kemitix-parent - 3.2.3 + 3.3.0-SNAPSHOT pom Kemitix Parent From bfb1805c556ea9b2ae7438bb8bac99c65699861f Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sat, 22 Jul 2017 15:22:46 +0100 Subject: [PATCH 2/8] pom.xml: submit to coveralls in default profile --- pom.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 7e50d3e..e475eb4 100644 --- a/pom.xml +++ b/pom.xml @@ -151,12 +151,6 @@ maven-deploy-plugin ${maven-deploy-plugin.version} - - - org.eluder.coveralls - coveralls-maven-plugin - ${coveralls-maven-plugin.version} - @@ -303,6 +297,11 @@ + + org.eluder.coveralls + coveralls-maven-plugin + ${coveralls-maven-plugin.version} + org.apache.maven.plugins maven-pmd-plugin From d1f6f4a5d85df0051b74998f3a9ef5058e45fc90 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 13 Aug 2017 12:11:12 +0100 Subject: [PATCH 3/8] pom.xml: include javadocs in maven site build --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index e475eb4..2db6fac 100644 --- a/pom.xml +++ b/pom.xml @@ -437,6 +437,11 @@ + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + org.apache.maven.plugins maven-surefire-report-plugin From f513f69fc54ee54304aea77c8f533dc065712646 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 17 Sep 2017 22:18:36 +0100 Subject: [PATCH 4/8] pom.xml: Use `kemitix-quality-maven-plugin` to replace some plugins --- CHANGELOG | 5 ++ pom.xml | 226 ++---------------------------------------------------- 2 files changed, 13 insertions(+), 218 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index eb75308..b3d6d25 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,11 @@ CHANGELOG ========= +3.3.0 +----- + +* Use `kemitix-quality-maven-plugin` to replace some plugins + 3.2.4 ----- diff --git a/pom.xml b/pom.xml index 2db6fac..db09dfb 100644 --- a/pom.xml +++ b/pom.xml @@ -37,12 +37,10 @@ UTF-8 UTF-8 target - 3.3.0 - 5-complexity - 1.16.18 - 0.9.0 - net.kemitix + 0.2.1 + net.kemitix + 1.16.18 3.0.0 2.5.2 3.6 @@ -53,24 +51,10 @@ 3.6.1 2.20 2.20 - 3.8 - 0.0.11 - 0.7.9 - 1.2 - 1.2.0 2.5 - 0.50 - 0.80 - 0 1.8 - 0 - 0 - false - true 2.4 - 3.0.4 - 1.4.1 4.3.0 @@ -188,61 +172,17 @@ net.kemitix - kemitix-checkstyle-ruleset-maven-plugin - ${kemitix-checkstyle-ruleset.version} + kemitix-quality-maven-plugin + ${kemitix-quality-maven-plugin.version} - verify - check + validate + verify - - ${kemitix-checkstyle-ruleset.level} - - - - net.kemitix - digraph-dependency-maven-plugin - ${digraph-dependency.version} - - ${digraph-dependency.basePackage} - - - - verify - - digraph - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - - - enforce-maven - validate - - display-info - enforce - - - - - - - ${required-maven.version} - - - ${java.version} - - - - + org.apache.maven.plugins maven-clean-plugin @@ -302,131 +242,6 @@ coveralls-maven-plugin ${coveralls-maven-plugin.version} - - org.apache.maven.plugins - maven-pmd-plugin - ${maven-pmd-plugin.version} - - - pmd - verify - - pmd - - - - cpd - verify - - cpd - - - - - - one.util - huntbugs-maven-plugin - ${huntbugs.version} - - - verify - - huntbugs - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - - prepare-agent - - - - report - prepare-package - - report - - - - default-check - - check - - - - - - - CLASS - - *Test - *IT - *Main - *Application - *Configuration - *Immutable* - - - - LINE - COVEREDRATIO - ${jacoco-class-line-covered-ratio} - - - INSTRUCTION - COVEREDRATIO - ${jacoco-class-instruction-covered-ratio} - - - CLASS - MISSEDCOUNT - ${jacoco-class-missed-count-maximum} - - - - - - - - org.pitest - highwheel-maven - ${highwheel-maven.version} - - - verify - - analyse - - - - - - org.pitest - pitest-maven - ${pitest.version} - - - verify - - mutationCoverage - - - - - ${pitest.skip} - false - *.Immutable* - ${pitest.coverage} - ${pitest.mutation} - ${pitest.failWhenNoMutations} - - org.codehaus.mojo versions-maven-plugin @@ -452,31 +267,6 @@ maven-jxr-plugin ${maven-jxr-plugin.version} - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - org.apache.maven.plugins - maven-pmd-plugin - ${maven-pmd-plugin.version} - - true - - - - org.pitest - pitest-maven - ${pitest.version} - - - - report - - - - org.codehaus.mojo versions-maven-plugin From 9310145211492e0d6847e031952f962fbac4df7a Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 17 Sep 2017 22:24:47 +0100 Subject: [PATCH 5/8] pom.xml: upgrade maven plugins Making more use of pluginManagement. * `antrun` 1.3 -> 1.8 * `release` 2.3.2 -> 2.5.3 * `javadoc` 2.10.4 -> 3.0.0-M1 * `dependency` 2.8 -> 3.0.2 * `assembly` 2.2-beta-5 -> 3.1.0 * `deploy` 2.8 -> 2.8.2 * `copmiler` _ -> 3.7.0 * `project-info-reports` _ -> 2.9 * `surefire` _ -> 2.20.1 * `failsafe` _ -> 2.20.1 --- CHANGELOG | 3 + pom.xml | 217 ++++++++++++++++++++++++++++++++++-------------------- 2 files changed, 139 insertions(+), 81 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b3d6d25..0716ce3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,9 @@ CHANGELOG ----- * Use `kemitix-quality-maven-plugin` to replace some plugins +* Specify version `2.9` for `maven-project-info-reports-plugin` +* Upgrade `maven-{surefire,failsafe}-plugin` to `2.20.1` +* Upgrade `maven-compiler-plugin` to `3.7.0` 3.2.4 ----- diff --git a/pom.xml b/pom.xml index db09dfb..588a62a 100644 --- a/pom.xml +++ b/pom.xml @@ -41,17 +41,22 @@ net.kemitix 1.16.18 + 1.8 3.0.0 2.5.2 + 2.5.3 3.6 - 2.10.4 + 3.0.0-M1 3.0.1 1.6 2.8.2 - 3.6.1 - 2.20 - 2.20 + 3.7.0 + 3.0.2 + 3.1.0 + 2.20.1 + 2.20.1 2.5 + 2.9 1.8 2.4 @@ -85,7 +90,6 @@ org.apache.maven.plugins maven-javadoc-plugin - ${maven-javadoc-plugin.version} attach-javadocs @@ -100,7 +104,6 @@ org.apache.maven.plugins maven-source-plugin - ${maven-source-plugin.version} attach-sources @@ -115,7 +118,6 @@ org.apache.maven.plugins maven-gpg-plugin - ${maven-gpg-plugin.version} ${gpg.passphrase} @@ -133,7 +135,6 @@ org.apache.maven.plugins maven-deploy-plugin - ${maven-deploy-plugin.version} @@ -169,89 +170,143 @@ ${kemitix.build.directory} + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + org.apache.maven.plugins + maven-gpg-plugin + ${maven-gpg-plugin.version} + + + org.apache.maven.plugins + maven-deploy-plugin + ${maven-deploy-plugin.version} + + + org.apache.maven.plugins + maven-clean-plugin + ${maven-clean-plugin.version} + + + org.apache.maven.plugins + maven-antrun-plugin + ${maven-antrun-plugin.version} + + + org.apache.maven.plugins + maven-install-plugin + ${maven-install-plugin.version} + + + org.apache.maven.plugins + maven-site-plugin + ${maven-site-plugin.version} + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + + -Xlint:unchecked + + true + true + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + + + + net.kemitix + kemitix-quality-maven-plugin + ${kemitix-quality-maven-plugin.version} + + + + validate + verify + + + + + + org.apache.maven.plugins + maven-dependency-plugin + ${maven-dependency-plugin.version} + + + org.apache.maven.plugins + maven-assembly-plugin + ${maven-assembly-plugin.version} + + + org.apache.maven.plugins + maven-release-plugin + ${maven-release-plugin.version} + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + org.apache.maven.plugins + maven-failsafe-plugin + ${maven-failsafe-plugin.version} + + + integration-test + + integration-test + + + + verify + + verify + + + + + + org.eluder.coveralls + coveralls-maven-plugin + ${coveralls-maven-plugin.version} + + + org.codehaus.mojo + versions-maven-plugin + ${versions.version} + + + + net.kemitix kemitix-quality-maven-plugin - ${kemitix-quality-maven-plugin.version} - - - - validate - verify - - - - - org.apache.maven.plugins - maven-clean-plugin - ${maven-clean-plugin.version} - - - org.apache.maven.plugins - maven-install-plugin - ${maven-install-plugin.version} - - - org.apache.maven.plugins - maven-site-plugin - ${maven-site-plugin.version} - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - - -Xlint:unchecked - - true - true - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - org.apache.maven.plugins - maven-failsafe-plugin - ${maven-failsafe-plugin.version} - - - integration-test - - integration-test - - - - verify - - verify - - - - - - org.eluder.coveralls - coveralls-maven-plugin - ${coveralls-maven-plugin.version} - - - org.codehaus.mojo - versions-maven-plugin - ${versions.version} - + + org.apache.maven.plugins + maven-project-info-reports-plugin + ${maven-project-info-reports-plugin.version} + org.apache.maven.plugins maven-javadoc-plugin From e615b8f2d1de740f02c8c27c8e3588c666bfe914 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Mon, 18 Sep 2017 14:27:22 +0100 Subject: [PATCH 6/8] CHANGELOG --- CHANGELOG | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0716ce3..8575d23 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,9 +5,16 @@ CHANGELOG ----- * Use `kemitix-quality-maven-plugin` to replace some plugins -* Specify version `2.9` for `maven-project-info-reports-plugin` -* Upgrade `maven-{surefire,failsafe}-plugin` to `2.20.1` -* Upgrade `maven-compiler-plugin` to `3.7.0` +* 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 +* Upgrade `maven-dependency-plugin` 2.8 -> 3.0.2 +* Upgrade `maven-assembly-plugin` 2.2-beta-5 -> 3.1.0 +* Upgrade `maven-deploy-plugin` 2.8 -> 2.8.2 +* Upgrade `maven-compiler-plugin` _ -> 3.7.0 +* Upgrade `maven-project-info-reports-plugin` _ -> 2.9 +* Upgrade `maven-surefire-plugin` _ -> 2.20.1 +* Upgrade `maven-failsafe-plugin` _ -> 2.20.1 3.2.4 ----- From 0e28d9d178001b80d43c25367fa607b82be9ee3c Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Mon, 18 Sep 2017 14:37:33 +0100 Subject: [PATCH 7/8] version: set to 4.0.0-SNAPSHOT Updating README.md and CHANGELOG. Due to the stricter code coverage and mutation test requirements, this is a major version bump. --- CHANGELOG | 4 +- README.md | 153 ++---------------------------------------------------- pom.xml | 2 +- 3 files changed, 8 insertions(+), 151 deletions(-) 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 From 848cafa9a9e15ed5aa7788a8c8acb1eef8ee03fc Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Mon, 18 Sep 2017 15:48:31 +0100 Subject: [PATCH 8/8] version: set to 4.0.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9b0672e..d472e68 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ net.kemitix kemitix-parent - 4.0.0-SNAPSHOT + 4.0.0 pom Kemitix Parent