Package: org.gradle.api.plugins.quality

## [Groovy] Class PmdExtension

- org.gradle.api.plugins.quality.PmdExtension

- Configuration options for the PMD plugin.

  See Also:
    PmdPlugin

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `consoleOutput` Whether or not to write PMD results to `System.out`.
    `int` | `rulePriority` The rule priority threshold; violations for rules with a lower priority will not be reported.
    `TextResource` | `ruleSetConfig` The custom rule set to be used (if any).
    `FileCollection` | `ruleSetFiles` The custom rule set files to be used.
    `List<String>` | `ruleSets` The built-in rule sets to be used.
    `TargetJdk` | `targetJdk` The target jdk to use with pmd, 1.3, 1.4, 1.5, 1.6, 1.7 or jsp

  - ### Constructor Summary

    Constructors
    Constructor and description
    `PmdExtension (Project project)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `ruleSetFiles(Object... ruleSetFiles)` Convenience method for adding rule set files.
    `void` | `ruleSets(String... ruleSets)` Convenience method for adding rule sets.
    `void` | `setRulePriority(int intValue)` Sets the rule priority threshold.
    `void` | `setTargetJdk(def value)` Sets the target jdk used with pmd.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### @Incubating boolean consoleOutput

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

    - #### @Incubating int rulePriority

      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.

      Example: rulePriority = 3

    - #### @Incubating 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. Example: ruleSetConfig = resources.text.fromFile("config/pmd/myRuleSet.xml")

      Since:
        2.2

    - #### FileCollection ruleSetFiles

      The custom rule set files to be used. See the official documentation for how to author a rule set file. Example: ruleSetFiles = files("config/pmd/myRuleSet.xml")

    - #### List<String> ruleSets

      The built-in rule sets to be used. See the official list of built-in rule sets. Example: ruleSets = ["basic", "braces"]

    - #### TargetJdk targetJdk

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

  - ### Constructor Detail

    - #### PmdExtension(Project project)

  - ### Method Detail

    - #### void ruleSetFiles(Object... ruleSetFiles)

      Convenience method for adding rule set files. Example: ruleSetFiles "config/pmd/myRuleSet.xml"

      Parameters:
        `ruleSetFiles` - the rule set files to be added

    - #### void ruleSets(String... ruleSets)

      Convenience method for adding rule sets. Example: ruleSets "basic", "braces"

      Parameters:
        `ruleSets` - the rule sets to be added

    - #### @Incubating void setRulePriority(int intValue)

      Sets the rule priority threshold.

    - #### void setTargetJdk(def value)

      Sets the target jdk used with pmd.

      value:
        The value for the target jdk as defined by TargetJdk.toVersion