Package: org.gradle.api.plugins.quality

## [Java] Class PmdExtension

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

- Configuration options for the PMD plugin.

  See Also:
    PmdPlugin

- - ### Constructor Summary

    Constructors
    Constructor and description
    `PmdExtension (Project project)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `boolean` | `getConsoleOutput()` Whether or not to write PMD results to `System.out`.
    `int` | `getRulePriority()` The rule priority threshold; violations for rules with a lower priority will not be reported.
    `TextResource` | `getRuleSetConfig()` The custom rule set to be used (if any).
    `FileCollection` | `getRuleSetFiles()` The custom rule set files to be used.
    `List<String>` | `getRuleSets()` The built-in rule sets to be used.
    `TargetJdk` | `getTargetJdk()` The target jdk to use with pmd, 1.3, 1.4, 1.5, 1.6, 1.7 or jsp
    `boolean` | `isConsoleOutput()`
    `void` | `ruleSetFiles(Object... ruleSetFiles)` Convenience method for adding rule set files.
    `void` | `ruleSets(String... ruleSets)` Convenience method for adding rule sets.
    `void` | `setConsoleOutput(boolean consoleOutput)`
    `void` | `setRulePriority(int intValue)` Sets the rule priority threshold.
    `void` | `setRuleSetConfig(TextResource ruleSetConfig)`
    `void` | `setRuleSetFiles(FileCollection ruleSetFiles)`
    `void` | `setRuleSets(List<String> ruleSets)`
    `void` | `setTargetJdk(Object value)` Sets the target jdk used with pmd.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class CodeQualityExtension` | `getIgnoreFailures, getReportsDir, getSourceSets, getToolVersion, isIgnoreFailures, setIgnoreFailures, setReportsDir, setSourceSets, setToolVersion`
    `class groovy.lang.GroovyObjectSupport` | `groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll()`

- - ### Constructor Detail

    - #### public PmdExtension(Project project)

  - ### Method Detail

    - #### @Incubating public boolean getConsoleOutput()

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

    - #### @Incubating public int getRulePriority()

      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 public TextResource getRuleSetConfig()

      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

    - #### public FileCollection getRuleSetFiles()

      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")

    - #### public List<String> getRuleSets()

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

    - #### public TargetJdk getTargetJdk()

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

    - #### @Incubating public boolean isConsoleOutput()

    - #### public 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

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

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

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

    - #### @Incubating public void setConsoleOutput(boolean consoleOutput)

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

      Sets the rule priority threshold.

    - #### @Incubating public void setRuleSetConfig(TextResource ruleSetConfig)

    - #### public void setRuleSetFiles(FileCollection ruleSetFiles)

    - #### public void setRuleSets(List<String> ruleSets)

    - #### public void setTargetJdk(Object value)

      Sets the target jdk used with pmd.

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