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 abstract 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.

Declares a pmdAux configuration to add transitive compileOnly dependencies to the PMD's auxclasspath. This is only needed if PMD complains about NoClassDefFoundError during type resolution.

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:
  • Field Details

  • 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>
    • getToolchainService

      @Inject protected JavaToolchainService getToolchainService()
    • createExtension

      protected CodeQualityExtension createExtension()
      Specified by:
      createExtension in class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
    • getDefaultTargetJdk

      public TargetJdk getDefaultTargetJdk(JavaVersion javaVersion)
    • createConfigurations

      protected void createConfigurations()
      Overrides:
      createConfigurations in class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
    • configureConfiguration

      protected void configureConfiguration(Configuration configuration)
      Specified by:
      configureConfiguration in class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
    • 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>