PmdExtension

API Documentation:PmdExtension

Configuration options for the PMD plugin.

Properties

PropertyDescription
consoleOutput

Whether or not to write PMD results to System.out.

ignoreFailures

Whether to allow the build to continue if there are warnings. Example: ignoreFailures = true

incrementalAnalysis

Controls whether to use incremental analysis or not. This is only supported for PMD 6.0.0 or better. See https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html for more details.

maxFailures

The maximum number of failures to allow before stopping the build. If

reportsDir

The directory where reports will be generated.

ruleSetConfig

The custom rule set to be used (if any). Replaces ruleSetFiles, except that it does not currently support multiple rule sets. See the official documentation for how to author a rule set.

ruleSetFiles

The custom rule set files to be used. See the official documentation for how to author a rule set file.

ruleSets

The built-in rule sets to be used. See the official list of built-in rule sets. If not configured explicitly, the returned conventional value is "category/java/errorprone.xml", unless PmdExtension.getRuleSetConfig() returns. a non-null value or the return value of PmdExtension.getRuleSetFiles() is non-empty, in which case the conventional value is an empty list

rulesMinimumPriority

The rule priority threshold; violations for rules with a lower priority will not be reported. Default value is 5, which means that all violations will be reported. This is equivalent to PMD's Ant task minimumPriority property. See the official documentation for the list of priorities.

sourceSets

The source sets to be analyzed as part of the check and build tasks.

targetJdk

The target jdk to use with pmd, 1.3, 1.4, 1.5, 1.6, 1.7 or jsp

threads

The number of threads used by PMD.

toolVersion

The version of the code quality tool to be used.

Methods

MethodDescription
ruleSetFiles(ruleSetFiles)

Convenience method for adding rule set files.

ruleSets(ruleSets)

Convenience method for adding rule sets.

Script blocks

No script blocks

Property details

boolean consoleOutput

Whether or not to write PMD results to System.out.

Default:
false

boolean ignoreFailures

Whether to allow the build to continue if there are warnings. Example: ignoreFailures = true

Property<Boolean> incrementalAnalysis

Controls whether to use incremental analysis or not. This is only supported for PMD 6.0.0 or better. See https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html for more details.

Default:
false

Property<Integer> maxFailures

The maximum number of failures to allow before stopping the build. If

ignoreFailures

is set, this is ignored and no limit is enforced.

Default:
0

File reportsDir

The directory where reports will be generated.

TextResource ruleSetConfig

The custom rule set to be used (if any). Replaces ruleSetFiles, except that it does not currently support multiple rule sets. See the official documentation for how to author a rule set.

    ruleSetConfig = resources.text.fromFile("config/pmd/myRuleSet.xml")
Default:
null

FileCollection ruleSetFiles

The custom rule set files to be used. See the official documentation for how to author a rule set file.

    ruleSetFiles = files("config/pmd/myRuleSet.xml")
Default:
[]

List<String> ruleSets

The built-in rule sets to be used. See the official list of built-in rule sets. If not configured explicitly, the returned conventional value is "category/java/errorprone.xml", unless PmdExtension.getRuleSetConfig() returns. a non-null value or the return value of PmdExtension.getRuleSetFiles() is non-empty, in which case the conventional value is an empty list

    ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"]
Default:
["category/java/errorprone.xml"]

Property<Integer> rulesMinimumPriority

The rule priority threshold; violations for rules with a lower priority will not be reported. Default value is 5, which means that all violations will be reported. This is equivalent to PMD's Ant task minimumPriority property. See the official documentation for the list of priorities.

    rulesMinimumPriority = 3
Default:
5

Collection<SourceSet> sourceSets

The source sets to be analyzed as part of the check and build tasks.

Default:
project.sourceSets

TargetJdk targetJdk

The target jdk to use with pmd, 1.3, 1.4, 1.5, 1.6, 1.7 or jsp

Default:
project.sourceCompatibility

Property<Integer> threads

The number of threads used by PMD.

Default:
1

String toolVersion

The version of the code quality tool to be used.

Method details

void ruleSetFiles(Object... ruleSetFiles)

Convenience method for adding rule set files.

    ruleSetFiles "config/pmd/myRuleSet.xml"

void ruleSets(String... ruleSets)

Convenience method for adding rule sets.

    ruleSets "category/java/errorprone.xml", "category/java/bestpractices.xml"