Package org.apache.maven.plugins.pmd
Class CpdViolationCheckMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.pmd.AbstractPmdViolationCheckMojo<Duplication>
org.apache.maven.plugins.pmd.CpdViolationCheckMojo
- All Implemented Interfaces:
ContextEnabled,Mojo
- Direct Known Subclasses:
AggregatorCpdViolationCheckMojo
@Mojo(name="cpd-check",
defaultPhase=VERIFY,
threadSafe=true)
@Execute(goal="cpd")
public class CpdViolationCheckMojo
extends AbstractPmdViolationCheckMojo<Duplication>
Fails the build if there were any CPD violations in the source code.
- Since:
- 2.0
- Version:
- $Id$
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanWhether to fail the build if the validation check fails.Fields inherited from class org.apache.maven.plugins.pmd.AbstractPmdViolationCheckMojo
aggregate, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()protected List<Duplication>getErrorDetails(File cpdFile) Gets the attributes and text for the violation tag and puts them in a HashMapprotected intgetPriority(Duplication errorDetail) booleanprotected ViolationDetails<Duplication>protected voidprintError(Duplication item, String severity) Formats the failure details and prints them as an INFO messageMethods inherited from class org.apache.maven.plugins.pmd.AbstractPmdViolationCheckMojo
executeCheck, getMaxAllowedViolations, isAggregator, printErrorsMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
failOnViolation
@Parameter(property="cpd.failOnViolation", defaultValue="true", required=true) protected boolean failOnViolationWhether to fail the build if the validation check fails.- Since:
- 3.0
-
-
Constructor Details
-
CpdViolationCheckMojo
public CpdViolationCheckMojo()Default constructor. Initializes with the correctExcludeDuplicationsFromFile.
-
-
Method Details
-
execute
-
printError
Formats the failure details and prints them as an INFO message- Specified by:
printErrorin classAbstractPmdViolationCheckMojo<Duplication>- Parameters:
item- either aViolationfrom PMD or aDuplicationfrom CPDseverity- the found issue is prefixed with the given severity, usually "Warning" or "Failure".
-
getErrorDetails
protected List<Duplication> getErrorDetails(File cpdFile) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException Gets the attributes and text for the violation tag and puts them in a HashMap- Specified by:
getErrorDetailsin classAbstractPmdViolationCheckMojo<Duplication>- Parameters:
cpdFile- 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
-
getPriority
- Specified by:
getPriorityin classAbstractPmdViolationCheckMojo<Duplication>
-
newViolationDetailsInstance
- Specified by:
newViolationDetailsInstancein classAbstractPmdViolationCheckMojo<Duplication>
-
isFailOnViolation
public boolean isFailOnViolation()- Overrides:
isFailOnViolationin classAbstractPmdViolationCheckMojo<Duplication>
-