# Class CodeNarcPlugin

java.lang.Object
org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>
org.gradle.api.plugins.quality.CodeNarcPlugin

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

public abstract class CodeNarcPlugin extends org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>
CodeNarc Plugin.

Since:
  1.0
See Also:
  - CodeNarc plugin reference

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_CODENARC_VERSION`
  The default codenarc version.

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

  `project`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodeNarcPlugin()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `beforeApply()`
  `protected void`
  `configureConfiguration(Configuration configuration)`
  `protected void`
  `configureForSourceSet(SourceSet sourceSet, CodeNarc task)`
  `protected void`
  `configureTaskDefaults(CodeNarc task, String baseName)`
  `protected CodeQualityExtension`
  `createExtension()`
  `protected Class<? extends Plugin<?>>`
  `getBasePlugin()`
  `protected Class<CodeNarc>`
  `getTaskType()`
  `protected abstract JavaToolchainService`
  `getToolchainService()`
  `protected String`
  `getToolName()`

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

  `apply, conventionMappingOf, createConfigurations, getConfigurationName, getJavaPluginExtension, getJvmPluginServices, getReportName, getRootProjectDirectory, getTaskBaseName, withBasePlugin`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### DEFAULT_CODENARC_VERSION

    public static final String DEFAULT_CODENARC_VERSION
    The default codenarc version.
    Since:
      2.4
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### CodeNarcPlugin

    public CodeNarcPlugin()

- ## Method Details

  - ### getToolName

    protected String getToolName()
    Specified by:
      `getToolName` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### getTaskType

    protected Class<CodeNarc> getTaskType()
    Specified by:
      `getTaskType` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### getToolchainService

    @Inject protected abstract JavaToolchainService getToolchainService()

  - ### getBasePlugin

    protected Class<? extends Plugin<?>> getBasePlugin()
    Overrides:
      `getBasePlugin` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### createExtension

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

  - ### configureConfiguration

    protected void configureConfiguration(Configuration configuration)
    Specified by:
      `configureConfiguration` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### configureTaskDefaults

    protected void configureTaskDefaults(CodeNarc task, String baseName)
    Overrides:
      `configureTaskDefaults` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### beforeApply

    protected void beforeApply()
    Overrides:
      `beforeApply` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`

  - ### configureForSourceSet

    protected void configureForSourceSet(SourceSet sourceSet, CodeNarc task)
    Overrides:
      `configureForSourceSet` in class `org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin<CodeNarc>`