@NonNullApi

# Package org.gradle.api.tasks

The standard `Task` implementations.

- Interface Summary
  Interface | Description
  --- | ---
  AntBuilderAware | An `AntBuilderAware` represents an object which can add itself to Ant tasks, using an `AntBuilder`.
  ClasspathNormalizer | Normalizes file input that represents a Java runtime classpath.
  CompatibilityAdapterForTaskInputs | Deprecated. The interface is only here to allow plugins built against Gradle <4.3 to run and it will be removed in Gradle 6.0.
  CompileClasspathNormalizer | Normalizes file input that represents a Java compile classpath.
  FileNormalizer | A normalizer used to remove unwanted noise when considering file inputs.
  GroovySourceSet | A `GroovySourceSetConvention` defines the properties and methods added to a `SourceSet` by the `GroovyPlugin`.
  ScalaSourceSet | A `ScalaSourceSetConvention` defines the properties and methods added to a `SourceSet` by the `ScalaPlugin`.
  SourceSet | A `SourceSet` represents a logical group of Java source and resources.
  SourceSetContainer | A `SourceSetContainer` manages a set of `SourceSet` objects.
  SourceSetOutput | A collection of all output directories (compiled classes, processed resources, etc.) - notice that `SourceSetOutput` extends `FileCollection`.
  TaskCollection<T extends Task> | A `TaskCollection` contains a set of `Task` instances, and provides a number of query methods.
  TaskContainer | A `TaskContainer` is responsible for managing a set of `Task` instances.
  TaskDependency | A `TaskDependency` represents an unordered set of tasks which a `Task` depends on.
  TaskDestroyables | Represents the files or directories that a `Task` destroys (removes).
  TaskFilePropertyBuilder | Describes a property of a task that contains zero or more files.
  TaskInputFilePropertyBuilder | Describes an input property of a task that contains zero or more files.
  TaskInputPropertyBuilder | Describes an input property of a task.
  TaskInputs | A `TaskInputs` represents the inputs for a task.
  TaskLocalState | Represents the files or directories that represent the local state of a `Task`.
  TaskOutputFilePropertyBuilder | Describes an output property of a task that contains zero or more files.
  TaskOutputs | A `TaskOutputs` represents the outputs of a task.
  TaskPropertyBuilder | Describes a property of a task.
  TaskProvider<T extends Task> | Providers a task of the given type.
  TaskReference | A lightweight reference to a task.
  TaskState | `TaskState` provides information about the execution state of a `Task`.
  VerificationTask | A `VerificationTask` is a task which performs some verification of the artifacts produced by a build.
  WorkResult | Provides information about some work which was performed.

- Class Summary
  Class | Description
  --- | ---
  AbstractCopyTask | `AbstractCopyTask` is the base class for all copy tasks.
  AbstractExecTask<T extends AbstractExecTask> | `AbstractExecTask` is the base class for all exec tasks.
  Copy | Copies files into a destination directory.
  Delete | Deletes files or directories.
  Exec | Executes a command line process.
  GradleBuild | Executes a Gradle build.
  GroovyRuntime | Provides information related to the Groovy runtime(s) used in a project.
  JavaExec | Executes a Java application in a child process.
  ScalaRuntime | Provides information related to the Scala runtime(s) used in a project.
  SourceTask | A `SourceTask` performs some operation on source files.
  Sync | Synchronizes the contents of a destination directory with some source directories and files.
  Upload | Uploads the artifacts of a `Configuration` to a set of repositories.
  WorkResults | Helps access trivial `WorkResult` objects.
  WriteProperties | Writes a `Properties` in a way that the results can be expected to be reproducible.

- Enum Summary
  Enum | Description
  --- | ---
  PathSensitivity | Enumeration of different path handling strategies for task properties.

- Exception Summary
  Exception | Description
  --- | ---
  StopActionException | A `StopActionException` is be thrown by a task `Action` or task action closure to stop its own execution and to start execution of the task's next action.
  StopExecutionException | A `StopExecutionException` is thrown by a `Action` or task action closure to stop execution of the current task and start execution of the next task.
  TaskExecutionException | A `TaskExecutionException` is thrown when a task fails to execute successfully.
  TaskInstantiationException | A `TaskInstantiationException` is thrown when a task cannot be instantiated for some reason.
  TaskValidationException | A `TaskValidationException` is thrown when there is some validation problem with a task.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  CacheableTask | Attached to a task type to indicate that task output caching should be enabled by default for tasks of this type.
  Classpath | Marks a property as specifying a JVM classpath for a task.
  CompileClasspath | Marks a property as specifying a Java compile classpath for a task.
  Console | Attached to a task property to indicate that the property is not to be taken into account for up-to-date checking, because its value only influences the console output of the task.
  Destroys | Marks a property as specifying a file or directory that a task destroys.
  Input | Attached to a task property to indicate that the property specifies some input value for the task.
  InputDirectory | Marks a property as specifying an input directory for a task.
  InputFile | Marks a property as specifying an input file for a task.
  InputFiles | Marks a property as specifying the input files for a task.
  Internal | Attached to a task property to indicate that the property is not to be taken into account for up-to-date checking.
  LocalState | Marks a property as specifying local state for a task.
  Nested | Marks a property as specifying a nested bean, whose properties should be checked for annotations.
  Optional | Marks a task property as optional.
  OutputDirectories | Marks a property as specifying one or more output directories for a task.
  OutputDirectory | Marks a property as specifying an output directory for a task.
  OutputFile | Marks a property as specifying an output file for a task.
  OutputFiles | Marks a property as specifying one or more output files for a task.
  PathSensitive | Annotates a task file property, specifying which part of the file paths should be considered during up-to-date checks.
  SkipWhenEmpty | Attached to a task property to indicate that the task should be skipped when the value of the property is an empty `FileCollection` or directory.
  TaskAction | Marks a method as the action to run when the task is executed.