Package org.apache.maven.plugins.pmd
Class AbstractPmdViolationCheckMojo<D>
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.pmd.AbstractPmdViolationCheckMojo<D>
- Type Parameters:
D- type of the check, e.g.ViolationorDuplication.
- All Implemented Interfaces:
ContextEnabled,Mojo
- Direct Known Subclasses:
CpdViolationCheckMojo,PmdViolationCheckMojo
Base class for mojos that check if there were any PMD violations.
- Version:
- $Id$
- Author:
- Brett Porter
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanDeprecated.protected booleanWhether to fail the build if the validation check fails.protected MavenProjectThe project to analyze. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractPmdViolationCheckMojo(ExcludeFromFile<D> excludeFromFile) Initialize this abstact check mojo by giving the correct ExcludeFromFile helper. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidexecuteCheck(String filename, String tagName, String key, int failurePriority) getErrorDetails(File analysisFile) Gets the attributes and text for the violation tag and puts them in a HashMapprotected abstract intgetPriority(D errorDetail) protected booleanbooleanprotected abstract ViolationDetails<D>protected abstract voidprintError(D item, String severity) Formats the failure details and prints them as an INFO messageprotected voidprintErrors(List<D> failures, List<D> warnings) Prints the warnings and failuresMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
failOnViolation
@Parameter(property="pmd.failOnViolation", defaultValue="true", required=true) protected boolean failOnViolationWhether to fail the build if the validation check fails. The propertiesfailurePriorityandmaxAllowedViolationscontrol under which conditions exactly the build should be failed. -
aggregate
Deprecated.since 3.15.0 Use the goalpmd:aggregate-checkorpmd:aggregate-cpd-checkinstead.Whether to build an aggregated report at the root, or build individual reports.- Since:
- 2.2
-
project
The project to analyze.
-
-
Constructor Details
-
AbstractPmdViolationCheckMojo
Initialize this abstact check mojo by giving the correct ExcludeFromFile helper.- Parameters:
excludeFromFile- the needed helper, for the specific violation type
-
-
Method Details
-
executeCheck
protected void executeCheck(String filename, String tagName, String key, int failurePriority) throws MojoFailureException, MojoExecutionException -
getPriority
-
newViolationDetailsInstance
-
printErrors
Prints the warnings and failures- Parameters:
failures- list of failureswarnings- list of warnings
-
printError
Formats the failure details and prints them as an INFO message- Parameters:
item- either aViolationfrom PMD or aDuplicationfrom CPDseverity- the found issue is prefixed with the given severity, usually "Warning" or "Failure".
-
getErrorDetails
protected abstract List<D> getErrorDetails(File analysisFile) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException Gets the attributes and text for the violation tag and puts them in a HashMap- Parameters:
analysisFile- the xml output from PMD or CPD- Returns:
- all PMD
Violations or CPDDuplications. - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException- if the analysis file contains invalid XMLIOException- if the analysis file could be read
-
isFailOnViolation
public boolean isFailOnViolation() -
getMaxAllowedViolations
-
isAggregator
protected boolean isAggregator()
-
pmd:aggregate-checkorpmd:aggregate-cpd-checkinstead.