Package org.gradle.api.plugins.quality
Class Pmd
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.SourceTask
org.gradle.api.plugins.quality.AbstractCodeQualityTask
org.gradle.api.plugins.quality.Pmd
- All Implemented Interfaces:
- Comparable<Task>,- org.gradle.api.internal.DynamicObjectAware,- org.gradle.api.internal.IConventionAware,- org.gradle.api.internal.TaskInternal,- Named,- ExtensionAware,- Reporting<PmdReports>,- Task,- PatternFilterable,- VerificationTask,- Configurable<Task>
@CacheableTask
public abstract class Pmd
extends AbstractCodeQualityTask
implements Reporting<PmdReports>
Runs a set of static code analysis rules on Java source code files and generates a report of problems found.
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.gradle.api.TaskTask.Namer
- 
Field SummaryFields inherited from interface org.gradle.api.TaskTASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionCompile class path for the classes to be analyzed.Controls whether to use incremental analysis or not.Path to the incremental cache file, if incremental analysis is used.The maximum number of failures to allow before stopping the build.The class path containing the PMD library to be used.final PmdReportsThe reports to be generated by this task.The custom rule set to be used (if any).The custom rule set files to be used.The built-in rule sets to be used.Specifies the rule priority threshold.Returns the source for this task, after the include and exclude patterns have been applied.The target JDK to use with PMD.Specifies the number of threads used by PMD.booleanWhether or not to write PMD results toSystem.out.Configures the reports to be generated by this task.reports(Action<? super PmdReports> configureAction) Configures the reports to be generated by this task.voidrun()voidsetClasspath(FileCollection classpath) Compile class path for the classes to be analyzed.voidsetConsoleOutput(boolean consoleOutput) Whether or not to write PMD results toSystem.out.voidsetPmdClasspath(FileCollection pmdClasspath) The class path containing the PMD library to be used.voidsetRuleSetConfig(TextResource ruleSetConfig) The custom rule set to be used (if any).voidsetRuleSetFiles(FileCollection ruleSetFiles) The custom rule set files to be used.voidsetRuleSets(List<String> ruleSets) The built-in rule sets to be used.voidsetTargetJdk(TargetJdk targetJdk) The target JDK to use with PMD.booleanstatic voidvalidate(int value) Validates the value is a valid PMD rules minimum priority (1-5)Methods inherited from class org.gradle.api.plugins.quality.AbstractCodeQualityTaskconfigureForkOptions, getIgnoreFailures, getIgnoreFailuresProperty, getJavaLauncher, getMaxHeapSize, getMinHeapSize, getObjectFactory, getToolchainService, getWorkerExecutor, setIgnoreFailuresMethods inherited from class org.gradle.api.tasks.SourceTaskexclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSource, sourceMethods inherited from class org.gradle.api.internal.ConventionTaskconventionMapping, conventionMapping, getConventionMappingMethods inherited from class org.gradle.api.DefaultTaskcompareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesServiceMethods inherited from class org.gradle.api.internal.AbstractTaskacceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjectsMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.TaskdoNotTrackState, getConvention, notCompatibleWithConfigurationCache
- 
Constructor Details- 
Pmdpublic Pmd()
 
- 
- 
Method Details- 
runpublic void run()
- 
stdOutIsAttachedToTerminalpublic boolean stdOutIsAttachedToTerminal()
- 
reportsConfigures the reports to be generated by this task.- Specified by:
- reportsin interface- Reporting<PmdReports>
- Parameters:
- closure- The configuration
- Returns:
- The report container
 
- 
reportsConfigures the reports to be generated by this task.- Specified by:
- reportsin interface- Reporting<PmdReports>
- Parameters:
- configureAction- The configuration
- Returns:
- The report container
- Since:
- 3.0
 
- 
validatepublic static void validate(int value) Validates the value is a valid PMD rules minimum priority (1-5)- Parameters:
- value- rules minimum priority threshold
 
- 
getSourceReturns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.The PathSensitivityfor the sources is configured to bePathSensitivity.ABSOLUTE. If your sources are less strict, please change it accordingly by overriding this method in your subclass.- Overrides:
- getSourcein class- SourceTask
- Returns:
- The source.
 
- 
getPmdClasspathThe class path containing the PMD library to be used.
- 
setPmdClasspathThe class path containing the PMD library to be used.
- 
getRuleSetsThe built-in rule sets to be used. See the official list of built-in rule sets.ruleSets = ["basic", "braces"]
- 
setRuleSetsThe built-in rule sets to be used. See the official list of built-in rule sets.ruleSets = ["basic", "braces"]
- 
getTargetJdkThe target JDK to use with PMD.
- 
setTargetJdkThe target JDK to use with PMD.
- 
getRuleSetConfigThe custom rule set to be used (if any). ReplacesruleSetFiles, 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
 
- 
setRuleSetConfigThe custom rule set to be used (if any). ReplacesruleSetFiles, 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
 
- 
getRuleSetFilesThe custom rule set files to be used. See the official documentation for how to author a rule set file. If you want to only use custom rule sets, you must clearruleSets.ruleSetFiles = files("config/pmd/myRuleSet.xml")
- 
setRuleSetFilesThe 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 bygetRuleSets().ruleSetFiles = files("config/pmd/myRuleSets.xml")
- 
getReportsThe reports to be generated by this task.- Specified by:
- getReportsin interface- Reporting<PmdReports>
- Returns:
- The report container
 
- 
getMaxFailuresThe 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. IfignoreFailures is set, this is ignored and the build will continue (infinite failures allowed).- Since:
- 6.4
 
- 
getRulesMinimumPrioritySpecifies the rule priority threshold.- Since:
- 6.8
- See Also:
 
- 
isConsoleOutputWhether or not to write PMD results toSystem.out.- Since:
- 2.1
 
- 
setConsoleOutputpublic void setConsoleOutput(boolean consoleOutput) Whether or not to write PMD results toSystem.out.- Since:
- 2.1
 
- 
getClasspathCompile 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
 
- 
setClasspathCompile 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
 
- 
getIncrementalAnalysisControls 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
 
- 
getIncrementalCacheFilePath to the incremental cache file, if incremental analysis is used.- Since:
- 5.6
 
- 
getThreadsSpecifies the number of threads used by PMD.- Since:
- 7.5
- See Also:
 
 
-