Class CheckstyleViolationCheckMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
- Version:
- $Id$
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
Specifies the cache file used to speed up Checkstyle on successive runs.private static final String
protected CheckstyleExecutor
private org.codehaus.plexus.configuration.PlexusConfiguration
By using this property, you can specify the whole Checkstyle rules inline directly inside this pom.private String
Specifies the location of the XML configuration to use.private boolean
Output errors to console.private String
The file encoding to use when reading the source files.private String
Specifies the names filter of the source files to be excluded for Checkstyle.private boolean
Fail the build on a violation.private boolean
If this is true, and Checkstyle reported any violations or errors, the build fails immediately after running Checkstyle, before checking the log forlogViolationsToConsole
.private String
Specifies the location of the License file (a.k.a.private boolean
Whether to apply Checkstyle to resource directories.private String
Specifies the names filter of the source files to be used for Checkstyle.private boolean
Whether to apply Checkstyle to test resource directories.private boolean
Include or not the test source directory to be used for Checkstyle.private static final String
private boolean
Output the detected violations to the console.private int
The maximum number of allowed violations.private boolean
Specifies whether modules with a configured severity ofignore
should be omitted during Checkstyle invocation.private File
Specifies the path and filename to save the Checkstyle output.private String
Specifies the format of the output to be used when writing to the output file.private File
private org.apache.maven.plugin.descriptor.PluginDescriptor
The Plugin Descriptorprotected org.apache.maven.project.MavenProject
The Maven Project Object.private String
Specifies the location of the properties file.private String
Allows for specifying raw property expansion information.private String
Specifies the names filter of the files to be excluded for Checkstyle when checking resources.private String
Specifies the names filter of the files to be used for Checkstyle when checking resources.protected List<org.apache.maven.model.Resource>
Specifies the location of the resources to be used for Checkstyle.private File
Dump file for inlined Checkstyle rules.private boolean
Skip entire check.private boolean
Skip Checkstyle execution will only scan the outputFile.Specifies the location of the source directories to be used for Checkstyle.private File
Deprecated.private ByteArrayOutputStream
private String
The key to be used in the properties for the suppressions file.private String
Specifies the location of the suppressions XML file to use.protected List<org.apache.maven.model.Resource>
Specifies the location of the test resources to be used for Checkstyle.Specifies the location of the test source directories to be used for Checkstyle.private File
Deprecated.instead usetestSourceDirectories
.private File
Ifnull
, the Checkstyle plugin will display violations on stdout.private String
Violations to ignore.private String
The lowest severity level that is considered a violation.Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
checkDeprecatedParameterUsage
(Object parameter, String name, String replacement) private List<org.apache.maven.artifact.Artifact>
collectArtifacts
(String hint) private int
countViolations
(org.codehaus.plexus.util.xml.pull.XmlPullParser xpp) void
execute()
private List<org.apache.maven.artifact.Artifact>
getCheckstylePluginDependenciesAsArtifacts
(Map<String, org.apache.maven.model.Plugin> plugins, String hint) private com.puppycrawl.tools.checkstyle.DefaultLogger
private com.puppycrawl.tools.checkstyle.api.AuditListener
private OutputStream
getOutputStream
(File file) private boolean
ignore
(RuleUtil.Matcher[] ignores, String source) private boolean
isViolation
(String severity) Checks if the given severity is considered a violation.private void
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
JAVA_FILES
- See Also:
-
CHECKSTYLE_FILE_HEADER
- See Also:
-
outputFile
@Parameter(property="checkstyle.output.file", defaultValue="${project.build.directory}/checkstyle-result.xml") private File outputFileSpecifies the path and filename to save the Checkstyle output. The format of the output file is determined by theoutputFileFormat
parameter. -
outputFileFormat
Specifies the format of the output to be used when writing to the output file. Valid values are "plain
" and "xml
". -
failOnViolation
@Parameter(property="checkstyle.failOnViolation", defaultValue="true") private boolean failOnViolationFail the build on a violation. The goal checks for the violations after logging them (iflogViolationsToConsole
istrue
). Compare this tofailsOnError
which fails the build immediately before examining the output log. -
maxAllowedViolations
@Parameter(property="checkstyle.maxAllowedViolations", defaultValue="0") private int maxAllowedViolationsThe maximum number of allowed violations. The execution fails only if the number of violations is above this limit.- Since:
- 2.3
-
violationSeverity
@Parameter(property="checkstyle.violationSeverity", defaultValue="error") private String violationSeverityThe lowest severity level that is considered a violation. Valid values are "error
", "warning
" and "info
".- Since:
- 2.2
-
violationIgnore
Violations to ignore. This is a comma-separated list, each value being either a rule name, a rule category or a java package name of rule class.- Since:
- 2.13
-
skip
@Parameter(property="checkstyle.skip", defaultValue="false") private boolean skipSkip entire check.- Since:
- 2.2
-
skipExec
@Parameter(property="checkstyle.skipExec", defaultValue="false") private boolean skipExecSkip Checkstyle execution will only scan the outputFile.- Since:
- 2.5
-
logViolationsToConsole
@Parameter(property="checkstyle.console", defaultValue="true") private boolean logViolationsToConsoleOutput the detected violations to the console.- Since:
- 2.3
-
resources
@Parameter(defaultValue="${project.resources}", readonly=true) protected List<org.apache.maven.model.Resource> resourcesSpecifies the location of the resources to be used for Checkstyle.- Since:
- 2.11
-
testResources
@Parameter(defaultValue="${project.testResources}", readonly=true) protected List<org.apache.maven.model.Resource> testResourcesSpecifies the location of the test resources to be used for Checkstyle.- Since:
- 2.16
-
configLocation
@Parameter(property="checkstyle.config.location", defaultValue="sun_checks.xml") private String configLocationSpecifies the location of the XML configuration to use.
Potential values are a filesystem path, a URL, or a classpath resource. This parameter expects that the contents of the location conform to the xml format (Checkstyle Checker module) configuration of rulesets.
This parameter is resolved as resource, URL, then file. If successfully resolved, the contents of the configuration is copied into the
${project.build.directory}/checkstyle-configuration.xml
file before being passed to Checkstyle as a configuration.There are 2 predefined rulesets.
sun_checks.xml
: Sun Checks.google_checks.xml
: Google Checks.
- Since:
- 2.5
-
propertiesLocation
Specifies the location of the properties file.
This parameter is resolved as URL, File then resource. If successfully resolved, the contents of the properties location is copied into the
${project.build.directory}/checkstyle-checker.properties
file before being passed to Checkstyle for loading.The contents of the
propertiesLocation
will be made available to Checkstyle for specifying values for parameters within the xml configuration (specified in theconfigLocation
parameter).- Since:
- 2.5
-
propertyExpansion
Allows for specifying raw property expansion information. -
headerLocation
@Parameter(property="checkstyle.header.file", defaultValue="LICENSE.txt") private String headerLocationSpecifies the location of the License file (a.k.a. the header file) that can be used by Checkstyle to verify that source code has the correct license header.
You need to use
${checkstyle.header.file}
in your Checkstyle xml configuration to reference the name of this header file.For instance:
<module name="RegexpHeader"> <property name="headerFile" value="${checkstyle.header.file}"/> </module>
- Since:
- 2.0-beta-2
-
cacheFile
Specifies the cache file used to speed up Checkstyle on successive runs. -
suppressionsFileExpression
@Parameter(property="checkstyle.suppression.expression", defaultValue="checkstyle.suppressions.file") private String suppressionsFileExpressionThe key to be used in the properties for the suppressions file.- Since:
- 2.1
-
suppressionsLocation
Specifies the location of the suppressions XML file to use.
This parameter is resolved as resource, URL, then file. If successfully resolved, the contents of the suppressions XML is copied into the
${project.build.directory}/checkstyle-suppressions.xml
file before being passed to Checkstyle for loading.See
suppressionsFileExpression
for the property that will be made available to your Checkstyle configuration.- Since:
- 2.0-beta-2
-
encoding
@Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}") private String encodingThe file encoding to use when reading the source files. If the propertyproject.build.sourceEncoding
is not set, the platform default encoding is used. Note: This parameter always overrides the propertycharset
from Checkstyle'sTreeWalker
module.- Since:
- 2.2
-
checkstyleExecutor
@Component(role=CheckstyleExecutor.class, hint="default") protected CheckstyleExecutor checkstyleExecutor- Since:
- 2.5
-
consoleOutput
@Parameter(property="checkstyle.consoleOutput", defaultValue="false") private boolean consoleOutputOutput errors to console. -
project
@Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject projectThe Maven Project Object. -
plugin
@Parameter(defaultValue="${plugin}", readonly=true, required=true) private org.apache.maven.plugin.descriptor.PluginDescriptor pluginThe Plugin Descriptor -
useFile
Ifnull
, the Checkstyle plugin will display violations on stdout. Otherwise, a text file will be created with the violations. -
excludes
Specifies the names filter of the source files to be excluded for Checkstyle. -
includes
@Parameter(property="checkstyle.includes", defaultValue="**\\/*.java", required=true) private String includesSpecifies the names filter of the source files to be used for Checkstyle. -
resourceExcludes
Specifies the names filter of the files to be excluded for Checkstyle when checking resources.- Since:
- 2.11
-
resourceIncludes
@Parameter(property="checkstyle.resourceIncludes", defaultValue="**/*.properties", required=true) private String resourceIncludesSpecifies the names filter of the files to be used for Checkstyle when checking resources.- Since:
- 2.11
-
failsOnError
@Parameter(defaultValue="false") private boolean failsOnErrorIf this is true, and Checkstyle reported any violations or errors, the build fails immediately after running Checkstyle, before checking the log forlogViolationsToConsole
. If you want to uselogViolationsToConsole
, usefailOnViolation
instead of this. -
testSourceDirectory
Deprecated.instead usetestSourceDirectories
. For version 3.0.0, this parameter is only defined to break the build if you use it!Specifies the location of the test source directory to be used for Checkstyle.- Since:
- 2.2
-
testSourceDirectories
Specifies the location of the test source directories to be used for Checkstyle. Default value is${project.testCompileSourceRoots}
.- Since:
- 2.13
-
includeTestSourceDirectory
@Parameter(defaultValue="false") private boolean includeTestSourceDirectoryInclude or not the test source directory to be used for Checkstyle.- Since:
- 2.2
-
sourceDirectory
Deprecated.instead usesourceDirectories
. For version 3.0.0, this parameter is only defined to break the build if you use it!Specifies the location of the source directory to be used for Checkstyle. -
sourceDirectories
Specifies the location of the source directories to be used for Checkstyle. Default value is${project.compileSourceRoots}
.- Since:
- 2.13
-
includeResources
@Parameter(property="checkstyle.includeResources", defaultValue="true", required=true) private boolean includeResourcesWhether to apply Checkstyle to resource directories.- Since:
- 2.11
-
includeTestResources
@Parameter(property="checkstyle.includeTestResources", defaultValue="true", required=true) private boolean includeTestResourcesWhether to apply Checkstyle to test resource directories.- Since:
- 2.11
-
checkstyleRules
@Parameter private org.codehaus.plexus.configuration.PlexusConfiguration checkstyleRulesBy using this property, you can specify the whole Checkstyle rules inline directly inside this pom.<plugin> ... <configuration> <checkstyleRules> <module name="Checker"> <module name="FileTabCharacter"> <property name="eachLine" value="true" /> </module> <module name="TreeWalker"> <module name="EmptyBlock"/> </module> </module> </checkstyleRules> </configuration> ...
- Since:
- 2.12
-
rulesFiles
@Parameter(property="checkstyle.output.rules.file", defaultValue="${project.build.directory}/checkstyle-rules.xml") private File rulesFilesDump file for inlined Checkstyle rules. -
omitIgnoredModules
@Parameter(defaultValue="false") private boolean omitIgnoredModulesSpecifies whether modules with a configured severity ofignore
should be omitted during Checkstyle invocation.- Since:
- 3.0.0
-
stringOutputStream
-
outputXmlFile
-
-
Constructor Details
-
CheckstyleViolationCheckMojo
public CheckstyleViolationCheckMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
checkDeprecatedParameterUsage
private void checkDeprecatedParameterUsage(Object parameter, String name, String replacement) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
countViolations
private int countViolations(org.codehaus.plexus.util.xml.pull.XmlPullParser xpp) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
IOException
-
log
-
isViolation
Checks if the given severity is considered a violation.- Parameters:
severity
- The severity to check- Returns:
true
if the given severity is a violation, otherwisefalse
-
ignore
-
getConsoleListener
private com.puppycrawl.tools.checkstyle.DefaultLogger getConsoleListener() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getOutputStream
private OutputStream getOutputStream(File file) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
getListener
private com.puppycrawl.tools.checkstyle.api.AuditListener getListener() throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
-
collectArtifacts
-
getCheckstylePluginDependenciesAsArtifacts
-
getSourceDirectories
-
getTestSourceDirectories
-
sourceDirectories
.