Paul Campbell
48b0d61423
Add selection of sevntu-checkstyle rules to checkstyle template Rewrite sample checkstyle rules definition Upgrade checkstyle to 6.19 |
||
---|---|---|
.mvn/wrapper | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG | ||
checkstyle.xml | ||
mvnw | ||
mvnw.cmd | ||
pom.xml | ||
README.md |
KEMITIX-PARENT
This Maven Parent POM several preconfigured plugins.
Usage
Maven
<parent>
<groupId>net.kemitix</groupId>
<artifactId>kemitix-parent</artifactId>
</parent>
Maven Checkstyle Plugin
The Maven Checkstyle Plugin uses the latest version of the Checkstyle library (Release Notes).
Also available for you to use are the rules defined by Sevntu.
Your project must provide a checkstyle.xml
file in it's root
directory. See the Checkstyle Plugin homepage for sun_checks.xml
and
google_checks.xml
examples. There is a modified version of sun_checks.xml
bundled in the source jar as checkstyle.xml
.
Your build will fail on any violations or errors found. You can modify your
checkstyle.xml
to suite your own needs.
Configuration
Ref checkstyle:check
- configLocation: checkstyle.xml
- consoleOutput: true
- encoding: UTF-8
- failOnViolation: true
- failOnError: true
- linkXRef: true
Maven Compiler Plugin
The Maven Compiler Plugin compiles your sources.
Configuration
Ref: compile:compile
- showDeprecation: true
- showWarnings: true
- source: 1.8
- target: 1.8
Maven Surefire Plugin
The Maven Surefire Plugin runs your Unit Tests.
Configuration
No configuration applied beyond the defaults.
Maven Failsafe Plugin
The Maven Failsafe Plugin runs your Integration Tests.
Runs its integration-test
goal during the verify
phase.
Configuration
No configuration applied beyond the defaults.
Maven PMD Plugin
The Maven PMD Plugin runs the PMD code analysis.
Runs its pmd
and cpd goals
during the verify
phase.
Configuration
No configuration applied beyond the defaults.
Findbugs Maven Plugin
The Findbugs Maven Plugin runs the Findbugs code analysis.
Runs its check
goal during the verify
phase.
Configuration
No configuration applied beyond the defaults.
Jacoco Maven Plugin
The Jacoco Maven Plugin 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
Maven Source Plugin
The Maven Source Plugin bundles your sources into a jar file ready for deployment.
Runs its jar-no-fork
goal during the verify
phase.
Configuration
No configuration applied beyond the defaults.
Maven Javadoc Plugin
The Maven Javadoc Plugin generates your html javadocs and bundles them into a jar file ready for deployment.
Runs its jar-no-fork
goal during the verify
phase.
Configuration
No configuration applied beyond the defaults.
Maven Deploy Plugin
The Maven Deploy Plugin uploads your artifacts to a remote repository.
Configuration
No configuration applied beyond the defaults.
Maven JXR Plugin
The Maven JXR Plugin produces cross-referenced HTML pages of your source code.
Configuration
No configuration applied beyond the defaults.
Highwheel Plugin
The Highwheel Plugin
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.
Digraph Dependency Plugin
The Digraph Dependency 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 verify
phase.
The plugin will filter to packages within the net.kemitix
package namespace.
Distribution Management
Remote repositories are provided for the Sonatype Nexus Snapshots and Nexus Release Repositories. See the OSSRH Guide for information on how to deploy your artifact the Maven Central through Sonatype.
Changing the Build Directory
If you want to change the build directory, e.g. from your settings.xml to an SSD
or ram drive, then set the value of the kemitix.build.directory
to your required
locations. e.g.
<properties> <kemitix.build.directory>/mnt/ramdrive/${project.groupId}/${project.artifactId}</kemitix.build.directory> </properties>