pmd:cpd-check

Full name:

org.apache.maven.plugins:maven-pmd-plugin:3.8:cpd-check

Description:

Fail the build if there were any CPD violations in the source code.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 2.0.
  • Binds by default to the lifecycle phase: verify.
  • Invokes the execution of this plugin's goal cpd prior to executing itself.

Required Parameters

Name Type Since Description
failOnViolation boolean 3.0 Whether to fail the build if the validation check fails.
Default value is: true.
User property is: cpd.failOnViolation.
targetDirectory File 2.0 The location of the XML report to check, as generated by the PMD report.
User property is: project.build.directory.

Optional Parameters

Name Type Since Description
aggregate boolean 2.2 Whether to build an aggregated report at the root, or build individual reports.
Default value is: false.
User property is: aggregate.
excludeFromFailureFile String 3.0 File that lists classes and rules to be excluded from failures. For PMD, this is a properties file. For CPD, this is a text file that contains comma-separated lists of classes that are allowed to duplicate.
User property is: pmd.excludeFromFailureFile.
printFailingErrors boolean 3.0 Print details of errors that cause build failure
Default value is: false.
User property is: pmd.printFailingErrors.
skip boolean 2.0 Skip the CPD violation checks. Most useful on the command line via "-Dcpd.skip=true".
Default value is: false.
User property is: cpd.skip.
verbose boolean 2.0 Print details of check failures to build output.
Default value is: false.
User property is: pmd.verbose.

Parameter Details

aggregate:

Whether to build an aggregated report at the root, or build individual reports.
  • Type: boolean
  • Since: 2.2
  • Required: No
  • User Property: aggregate
  • Default: false

excludeFromFailureFile:

File that lists classes and rules to be excluded from failures. For PMD, this is a properties file. For CPD, this is a text file that contains comma-separated lists of classes that are allowed to duplicate.
  • Type: java.lang.String
  • Since: 3.0
  • Required: No
  • User Property: pmd.excludeFromFailureFile

failOnViolation:

Whether to fail the build if the validation check fails.
  • Type: boolean
  • Since: 3.0
  • Required: Yes
  • User Property: cpd.failOnViolation
  • Default: true

printFailingErrors:

Print details of errors that cause build failure
  • Type: boolean
  • Since: 3.0
  • Required: No
  • User Property: pmd.printFailingErrors
  • Default: false

skip:

Skip the CPD violation checks. Most useful on the command line via "-Dcpd.skip=true".
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: cpd.skip
  • Default: false

targetDirectory:

The location of the XML report to check, as generated by the PMD report.
  • Type: java.io.File
  • Since: 2.0
  • Required: Yes
  • User Property: project.build.directory

verbose:

Print details of check failures to build output.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: pmd.verbose
  • Default: false