# Class PmdPlugin

java.lang.Object
org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
org.gradle.api.plugins.quality.PmdPlugin

All Implemented Interfaces:
  `Plugin<org.gradle.api.internal.project.ProjectInternal>`

public class PmdPlugin extends org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
A plugin for the PMD source code analyzer.

Declares a `pmd` configuration which needs to be configured with the PMD library to be used.

For each source set that is to be analyzed, a `Pmd` task is created and configured to analyze all Java code.

All PMD tasks (including user-defined ones) are added to the `check` lifecycle task.

See Also:
  - `PmdExtension`
  - `Pmd`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_PMD_VERSION`

### Fields inherited from class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin

`project`

## Constructor Summary

Constructors
Constructor
Description
`PmdPlugin()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`configureForSourceSet(SourceSet sourceSet, Pmd task)`
`protected void`
`configureTaskDefaults(Pmd task, String baseName)`
`protected CodeQualityExtension`
`createExtension()`
`TargetJdk`
`getDefaultTargetJdk(JavaVersion javaVersion)`
`protected Class<Pmd>`
`getTaskType()`
`protected String`
`getToolName()`

### Methods inherited from class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin

`apply, beforeApply, conventionMappingOf, createConfigurations, getBasePlugin, getConfigurationName, getJavaPluginConvention, getReportName, getTaskBaseName, withBasePlugin`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEFAULT_PMD_VERSION

public static final String DEFAULT_PMD_VERSION

See Also:
  - Constant Field Values

## Constructor Details

### PmdPlugin

public PmdPlugin()

## Method Details

### getToolName

protected String getToolName()

Specified by:
  `getToolName` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>`

### getTaskType

protected Class<Pmd> getTaskType()

Specified by:
  `getTaskType` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>`

### createExtension

protected CodeQualityExtension createExtension()

Specified by:
  `createExtension` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>`

### getDefaultTargetJdk

public TargetJdk getDefaultTargetJdk(JavaVersion javaVersion)

### configureTaskDefaults

protected void configureTaskDefaults(Pmd task, String baseName)

Overrides:
  `configureTaskDefaults` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>`

### configureForSourceSet

protected void configureForSourceSet(SourceSet sourceSet, Pmd task)

Overrides:
  `configureForSourceSet` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>`