# Package org.gradle.api.tasks

The standard `Task` implementations.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AntBuilderAware | An `AntBuilderAware` represents an object which can add itself to Ant tasks, using an `AntBuilder`.
  ConventionValue | Deprecated Use `Closure` or `Callable` instead.
  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.
  TaskInputs | A `TaskInputs` represents the inputs for a task.
  TaskOutputs | A `TaskOutputs` represents the outputs of 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 | Synchronises the contents of a destination directory with some source directories and files.
  Upload | Uploads the artifacts of a `Configuration` to a set of repositories.

- 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
  --- | ---
  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.
  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.
  ParallelizableTask | Declares that the associated task can be safely executed in parallel with other tasks.
  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.

## Package org.gradle.api.tasks Description

The standard `Task` implementations.