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.
This commit is contained in:
Paul Campbell 2017-09-18 14:37:33 +01:00
parent e615b8f2d1
commit 0e28d9d178
3 changed files with 8 additions and 151 deletions

View file

@ -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

153
README.md
View file

@ -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)

View file

@ -5,7 +5,7 @@
<groupId>net.kemitix</groupId>
<artifactId>kemitix-parent</artifactId>
<version>3.3.0-SNAPSHOT</version>
<version>4.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Kemitix Parent</name>