# Class ValidatePlugins

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.plugin.devel.tasks.ValidatePlugins

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

@CacheableTask public abstract class ValidatePlugins extends DefaultTask
Validates plugins by checking property annotations on work items like tasks and artifact transforms. This task should be used in Gradle plugin projects for doing static analysis on the plugin classes. The java-gradle-plugin adds a `validatePlugins` task, though if you cannot use this plugin then you need to register the task yourself. See the user guide for more information on incremental build and caching task outputs.

Since:
  6.0

- ## 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
  `ValidatePlugins()`
  Creates a new `ValidatePlugins`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract ConfigurableFileCollection`
  `getClasses()`
  The classes to validate.
  `abstract ConfigurableFileCollection`
  `getClasspath()`
  The classpath used to load the classes under validation.
  `protected abstract org.gradle.api.internal.DocumentationRegistry`
  `getDocumentationRegistry()`
  `abstract Property<Boolean>`
  `getEnableStricterValidation()`
  Enable the stricter validation for cacheable tasks for all tasks.
  `abstract Property<Boolean>`
  `getFailOnWarning()`
  Returns whether the build should break when the verifications performed by this task detects a warning.
  `abstract Property<Boolean>`
  `getIgnoreFailures()`
  Specifies whether the build should break when plugin verifications fails.
  `abstract Property<JavaLauncher>`
  `getLauncher()`
  The toolchain launcher used to execute workers when forking.
  `abstract RegularFileProperty`
  `getOutputFile()`
  Returns the output file to store the report in.
  `protected abstract WorkerExecutor`
  `getWorkerExecutor()`
  `void`
  `validateTaskClasses()`
  Validate task classes.

  ### 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

  - ### ValidatePlugins

    public ValidatePlugins()
    Creates a new `ValidatePlugins`.
    Since:
      6.0

- ## Method Details

  - ### validateTaskClasses

    public void validateTaskClasses() throws IOException
    Validate task classes.
    Throws:
      `IOException`
    Since:
      6.0

  - ### getClasses

    @InputFiles @SkipWhenEmpty @IgnoreEmptyDirectories @PathSensitive(RELATIVE) public abstract ConfigurableFileCollection getClasses()
    The classes to validate.
    Since:
      6.0

  - ### getClasspath

    @Classpath public abstract ConfigurableFileCollection getClasspath()
    The classpath used to load the classes under validation.

    Includes the classes under validation and both the runtime-scoped dependencies and the compile-scoped ones.

    Since:
      6.0

  - ### getLauncher

    @Optional @Incubating public abstract Property<JavaLauncher> getLauncher()
    The toolchain launcher used to execute workers when forking.
    Since:
      8.1.

  - ### getIgnoreFailures

    @Input public abstract Property<Boolean> getIgnoreFailures()
    Specifies whether the build should break when plugin verifications fails.
    Since:
      6.0

  - ### getFailOnWarning

    @Input public abstract Property<Boolean> getFailOnWarning()
    Returns whether the build should break when the verifications performed by this task detects a warning.
    Since:
      6.0

  - ### getEnableStricterValidation

    @Input public abstract Property<Boolean> getEnableStricterValidation()
    Enable the stricter validation for cacheable tasks for all tasks.
    Since:
      6.0

  - ### getOutputFile

    @OutputFile public abstract RegularFileProperty getOutputFile()
    Returns the output file to store the report in.
    Since:
      6.0

  - ### getDocumentationRegistry

    @Inject protected abstract org.gradle.api.internal.DocumentationRegistry getDocumentationRegistry()

  - ### getWorkerExecutor

    @Inject protected abstract WorkerExecutor getWorkerExecutor()