Class Pmd

    • Constructor Detail

      • Pmd

        public Pmd()
    • Method Detail

      • run

        public void run()
      • stdOutIsAttachedToTerminal

        public boolean stdOutIsAttachedToTerminal()
      • reports

        public PmdReports reports​(Action<? super PmdReports> configureAction)
        Configures the reports to be generated by this task.
        Specified by:
        reports in interface Reporting<PmdReports>
        Parameters:
        configureAction - The configuration
        Returns:
        The report container
        Since:
        3.0
      • validate

        public static void validate​(int value)
        Validates the value is a valid PMD rules minimum priority (1-5)
        Parameters:
        value - rules minimum priority threshold
      • getSource

        @PathSensitive(RELATIVE)
        public FileTree getSource()
        Returns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

        The PathSensitivity for the sources is configured to be PathSensitivity.ABSOLUTE. If your sources are less strict, please change it accordingly by overriding this method in your subclass.

        Overrides:
        getSource in class SourceTask
        Returns:
        The source.
      • getPmdClasspath

        @Classpath
        public FileCollection getPmdClasspath()
        The class path containing the PMD library to be used.
      • setPmdClasspath

        public void setPmdClasspath​(FileCollection pmdClasspath)
        The class path containing the PMD library to be used.
      • getRuleSets

        @Input
        public java.util.List<java.lang.String> getRuleSets()
        The built-in rule sets to be used. See the official list of built-in rule sets.
             ruleSets = ["basic", "braces"]
         
      • setRuleSets

        public void setRuleSets​(java.util.List<java.lang.String> ruleSets)
        The built-in rule sets to be used. See the official list of built-in rule sets.
             ruleSets = ["basic", "braces"]
         
      • getTargetJdk

        @Input
        public TargetJdk getTargetJdk()
        The target JDK to use with PMD.
      • setTargetJdk

        public void setTargetJdk​(TargetJdk targetJdk)
        The target JDK to use with PMD.
      • getRuleSetConfig

        @Nullable
        @Optional
        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(resources.file("config/pmd/myRuleSets.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(resources.file("config/pmd/myRuleSets.xml"))
         
        Since:
        2.2
      • 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")
         
      • getMaxFailures

        @Input
        public Property<java.lang.Integer> getMaxFailures()
        The maximum number of failures to allow before stopping the build. Defaults to 0, which will stop the build on any failure. Values 0 and above are valid. If
        ignoreFailures
        is set, this is ignored and the build will continue (infinite failures allowed).
        Since:
        6.4
      • isConsoleOutput

        @Input
        public boolean isConsoleOutput()
        Whether or not to write PMD results to System.out.
        Since:
        2.1
      • setConsoleOutput

        public void setConsoleOutput​(boolean consoleOutput)
        Whether or not to write PMD results to System.out.
        Since:
        2.1
      • getClasspath

        @Nullable
        @Optional
        @Classpath
        public FileCollection getClasspath()
        Compile class path for the classes to be analyzed. The classes on this class path are used during analysis but aren't analyzed themselves. This is only well supported for PMD 5.2.1 or better.
        Since:
        2.8
      • setClasspath

        public void setClasspath​(@Nullable
                                 FileCollection classpath)
        Compile class path for the classes to be analyzed. The classes on this class path are used during analysis but aren't analyzed themselves. This is only well supported for PMD 5.2.1 or better.
        Since:
        2.8
      • getIncrementalAnalysis

        @Internal
        public Property<java.lang.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
      • getIncrementalCacheFile

        @LocalState
        public java.io.File getIncrementalCacheFile()
        Path to the incremental cache file, if incremental analysis is used.
        Since:
        5.6