# Class Checkstyle

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

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Reporting<CheckstyleReports>, Task, PatternFilterable, VerificationTask, Configurable<Task>`

@CacheableTask public abstract class Checkstyle extends AbstractCodeQualityTask implements Reporting<CheckstyleReports>
Runs Checkstyle against some source files.

Since:
  0.8
See Also:
  - `CheckstylePlugin`
  - `CheckstyleExtension`

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Checkstyle()`
  Creates a new `Checkstyle`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FileCollection`
  `getCheckstyleClasspath()`
  The class path containing the Checkstyle library to be used.
  `FileCollection`
  `getClasspath()`
  The class path containing the compiled classes for the source files to be analyzed.
  `TextResource`
  `getConfig()`
  The Checkstyle configuration to use.
  `abstract DirectoryProperty`
  `getConfigDirectory()`
  Path to other Checkstyle configuration files.
  `File`
  `getConfigFile()`
  The Checkstyle configuration file to use.
  `@Nullable Map<String,Object>`
  `getConfigProperties()`
  The properties available for use in the configuration file.
  `abstract Property<Boolean>`
  `getEnableExternalDtdLoad()`
  Enable the use of external DTD files in configuration files.
  `int`
  `getMaxErrors()`
  The maximum number of errors that are tolerated before breaking the build or setting the failure property.
  `int`
  `getMaxWarnings()`
  The maximum number of warnings that are tolerated before breaking the build or setting the failure property.
  `final CheckstyleReports`
  `getReports()`
  The reports to be generated by this task.
  `FileTree`
  `getSource()`
  Returns the source for this task, after the include and exclude patterns have been applied.
  `boolean`
  `isIgnoreFailures()`
  Whether the build should break when the verifications performed by this task fail.
  `boolean`
  `isShowViolations()`
  Whether rule violations are to be displayed on the console.
  `CheckstyleReports`
  `reports(Closure closure)`
  Configures the reports to be generated by this task.
  `CheckstyleReports`
  `reports(Action<? super CheckstyleReports> configureAction)`
  Configures the reports to be generated by this task.
  `void`
  `run()`
  Run.
  `void`
  `setCheckstyleClasspath(FileCollection checkstyleClasspath)`
  The class path containing the Checkstyle library to be used.
  `void`
  `setClasspath(FileCollection classpath)`
  The class path containing the compiled classes for the source files to be analyzed.
  `void`
  `setConfig(TextResource config)`
  The Checkstyle configuration to use.
  `void`
  `setConfigFile(File configFile)`
  The Checkstyle configuration file to use.
  `void`
  `setConfigProperties(@Nullable Map<String,Object> configProperties)`
  The properties available for use in the configuration file.
  `void`
  `setMaxErrors(int maxErrors)`
  Set the maximum number of errors that are tolerated before breaking the build.
  `void`
  `setMaxWarnings(int maxWarnings)`
  Set the maximum number of warnings that are tolerated before breaking the build.
  `void`
  `setShowViolations(boolean showViolations)`
  Whether rule violations are to be displayed on the console.

  ### Methods inherited from class AbstractCodeQualityTask

  `configureForkOptions, getIgnoreFailures, getIgnoreFailuresProperty, getJavaLauncher, getMaxHeapSize, getMinHeapSize, getObjectFactory, getToolchainService, getWorkerExecutor, setIgnoreFailures`

  ### Methods inherited from class SourceTask

  `exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSource, source`

  ### Methods inherited from class org.gradle.api.internal.ConventionTask

  `conventionMapping, conventionMapping, getConventionMapping`

  ### Methods inherited from class DefaultTask

  `compareTo, 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, usesService`

  ### Methods inherited from class org.gradle.api.internal.AbstractTask

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### Checkstyle

    public Checkstyle()
    Creates a new `Checkstyle`.
    Since:
      0.8

- ## Method Details

  - ### getConfigFile

    @Internal public File getConfigFile()
    The Checkstyle configuration file to use.
    Since:
      0.8

  - ### setConfigFile

    public void setConfigFile(File configFile)
    The Checkstyle configuration file to use.
    Since:
      0.8

  - ### reports

    public CheckstyleReports reports(@DelegatesTo(value=CheckstyleReports.class,strategy=1) Closure closure)
    Configures the reports to be generated by this task. The contained reports can be configured by name and closures. Example:

        checkstyleTask {
          reports {
            html {
              destination "build/checkstyle.html"
            }
          }
        }

    Specified by:
      `reports` in interface `Reporting<CheckstyleReports>`
    Parameters:
      `closure` - The configuration
    Returns:
      The reports container

  - ### reports

    public CheckstyleReports reports(Action<? super CheckstyleReports> configureAction)
    Configures the reports to be generated by this task. The contained reports can be configured by name and closures. Example:

        checkstyleTask {
          reports {
            html {
              destination "build/checkstyle.html"
            }
          }
        }

    Specified by:
      `reports` in interface `Reporting<CheckstyleReports>`
    Parameters:
      `configureAction` - The configuration
    Returns:
      The reports container
    Since:
      3.0

  - ### run

    public void run()
    Run.
    Since:
      1.0

  - ### getSource

    @PathSensitive(RELATIVE) public FileTree getSource()
    Returns the source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

    The `PathSensitivity` for the sources is configured to be `PathSensitivity.ABSOLUTE`. If your sources are less strict, please change it accordingly by overriding this method in your subclass.

    The sources for this task are relatively relocatable even though it produces output that includes absolute paths. This is a compromise made to ensure that results can be reused between different builds. The downside is that up-to-date results, or results loaded from cache can show different absolute paths than would be produced if the task was executed.

    Overrides:
      `getSource` in class `SourceTask`
    Returns:
      The source.

  - ### getCheckstyleClasspath

    @Classpath public FileCollection getCheckstyleClasspath()
    The class path containing the Checkstyle library to be used.
    Since:
      1.0

  - ### setCheckstyleClasspath

    public void setCheckstyleClasspath(FileCollection checkstyleClasspath)
    The class path containing the Checkstyle library to be used.
    Since:
      1.0

  - ### getClasspath

    @Classpath public FileCollection getClasspath()
    The class path containing the compiled classes for the source files to be analyzed.
    Since:
      0.8

  - ### setClasspath

    public void setClasspath(FileCollection classpath)
    The class path containing the compiled classes for the source files to be analyzed.
    Since:
      0.8

  - ### getConfig

    public TextResource getConfig()
    The Checkstyle configuration to use. Replaces the `configFile` property.
    Since:
      2.2

  - ### setConfig

    public void setConfig(TextResource config)
    The Checkstyle configuration to use. Replaces the `configFile` property.
    Since:
      2.2

  - ### getConfigProperties

    @Optional @Input public @Nullable Map<String,Object> getConfigProperties()
    The properties available for use in the configuration file. These are substituted into the configuration file.
    Since:
      1.0

  - ### setConfigProperties

    public void setConfigProperties(@Nullable Map<String,Object> configProperties)
    The properties available for use in the configuration file. These are substituted into the configuration file.
    Since:
      1.0

  - ### getConfigDirectory

    @PathSensitive(RELATIVE) @InputFiles public abstract DirectoryProperty getConfigDirectory()
    Path to other Checkstyle configuration files.

    This path will be exposed as the variable `config_loc` in Checkstyle's configuration files.

    Returns:
      path to other Checkstyle configuration files
    Since:
      6.0

  - ### getReports

    public final CheckstyleReports getReports()
    The reports to be generated by this task.
    Specified by:
      `getReports` in interface `Reporting<CheckstyleReports>`
    Returns:
      The report container

  - ### getMaxErrors

    @Input public int getMaxErrors()
    The maximum number of errors that are tolerated before breaking the build or setting the failure property.
    Returns:
      the maximum number of errors allowed
    Since:
      3.4

  - ### setMaxErrors

    public void setMaxErrors(int maxErrors)
    Set the maximum number of errors that are tolerated before breaking the build.
    Parameters:
      `maxErrors` - number of errors allowed
    Since:
      3.4

  - ### getMaxWarnings

    @Input public int getMaxWarnings()
    The maximum number of warnings that are tolerated before breaking the build or setting the failure property.
    Returns:
      the maximum number of warnings allowed
    Since:
      3.4

  - ### setMaxWarnings

    public void setMaxWarnings(int maxWarnings)
    Set the maximum number of warnings that are tolerated before breaking the build.
    Parameters:
      `maxWarnings` - number of warnings allowed
    Since:
      3.4

  - ### isShowViolations

    @Console public boolean isShowViolations()
    Whether rule violations are to be displayed on the console.
    Returns:
      true if violations should be displayed on console
    Since:
      1.4

  - ### setShowViolations

    public void setShowViolations(boolean showViolations)
    Whether rule violations are to be displayed on the console.
    Since:
      1.4

  - ### getEnableExternalDtdLoad

    @Incubating @Input public abstract Property<Boolean> getEnableExternalDtdLoad()
    Enable the use of external DTD files in configuration files. Disabled by default because this may be unsafe. See Checkstyle documentation for more details.
    Returns:
      property to enable the use of external DTD files
    Since:
      7.6

  - ### isIgnoreFailures

    @Internal public boolean isIgnoreFailures()
    Whether the build should break when the verifications performed by this task fail.
    Returns:
      true if failures should be ignored
    Since:
      0.9