Class PmdExtension

java.lang.Object
org.gradle.api.plugins.quality.CodeQualityExtension
org.gradle.api.plugins.quality.PmdExtension

public abstract class PmdExtension extends CodeQualityExtension
Configuration options for the PMD plugin.
See Also:
  • Constructor Details

    • PmdExtension

      public PmdExtension(Project project)
  • Method Details

    • getRuleSets

      public List<String> getRuleSets()
      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 getRuleSetConfig() returns. a non-null value or the return value of getRuleSetFiles() is non-empty, in which case the conventional value is an empty list
           ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"]
       
    • setRuleSets

      public void setRuleSets(List<String> ruleSets)
      The built-in rule sets to be used. See the official list of built-in rule sets.
           ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"]
       
    • ruleSets

      public void ruleSets(String... ruleSets)
      Convenience method for adding rule sets.
           ruleSets "category/java/errorprone.xml", "category/java/bestpractices.xml"
       
      Parameters:
      ruleSets - the rule sets to be added
    • getTargetJdk

      public TargetJdk getTargetJdk()
      The target jdk to use with pmd, 1.3, 1.4, 1.5, 1.6, 1.7 or jsp
    • setTargetJdk

      public void setTargetJdk(TargetJdk targetJdk)
      Sets the target jdk used with pmd.
      Parameters:
      targetJdk - The target jdk
      Since:
      4.0
    • getMaxFailures

      public Property<Integer> getMaxFailures()
      The maximum number of failures to allow before stopping the build. If
      ignoreFailures
      is set, this is ignored and no limit is enforced.
      Since:
      6.4
    • setTargetJdk

      public void setTargetJdk(Object value)
      Sets the target jdk used with pmd.
      Parameters:
      value - The value for the target jdk as defined by TargetJdk.toVersion(Object)
    • getRulesMinimumPriority

      public Property<Integer> getRulesMinimumPriority()
      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
       
      Since:
      6.8
    • getRuleSetConfig

      @Nullable 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.
           ruleSetConfig = resources.text.fromFile("config/pmd/myRuleSet.xml")
       
      Since:
      2.2
    • setRuleSetConfig

      public void setRuleSetConfig(@Nullable 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")
       
      Since:
      2.2
    • getRuleSetFiles

      public FileCollection getRuleSetFiles()
      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")
       
    • setRuleSetFiles

      public void setRuleSetFiles(FileCollection ruleSetFiles)
      The custom rule set files to be used. See the official documentation for how to author a rule set file. This adds to the default rule sets defined by getRuleSets().
           ruleSetFiles = files("config/pmd/myRuleSets.xml")
       
    • ruleSetFiles

      public void ruleSetFiles(Object... ruleSetFiles)
      Convenience method for adding rule set files.
           ruleSetFiles "config/pmd/myRuleSet.xml"
       
      Parameters:
      ruleSetFiles - the rule set files to be added
    • isConsoleOutput

      public boolean isConsoleOutput()
      Whether or not to write PMD results to System.out.
    • setConsoleOutput

      public void setConsoleOutput(boolean consoleOutput)
      Whether or not to write PMD results to System.out.
    • getIncrementalAnalysis

      public Property<Boolean> getIncrementalAnalysis()
      Controls whether to use incremental analysis or not. This is only supported for PMD 6.0.0 or better. See for more details.
      Since:
      5.6
    • getThreads

      public Property<Integer> getThreads()
      The number of threads used by PMD.
      Since:
      7.5