Class 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:
    PmdExtension, Pmd, PMD plugin reference
    • Field Detail

      • DEFAULT_PMD_VERSION

        public static final java.lang.String DEFAULT_PMD_VERSION
        See Also:
        Constant Field Values
    • Constructor Detail

      • PmdPlugin

        public PmdPlugin()
    • Method Detail

      • getToolName

        protected java.lang.String getToolName()
        Specified by:
        getToolName in class org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<Pmd>
      • getTaskType

        protected java.lang.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>
      • 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,
                                             java.lang.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>