# Hierarchy For Package org.gradle.api.tasks

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.gradle.api.internal.AbstractTask (implements org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal)
    - org.gradle.api.DefaultTask (implements org.gradle.api.Task)
      - org.gradle.api.internal.ConventionTask (implements org.gradle.api.internal.IConventionAware)
        - org.gradle.api.tasks.AbstractCopyTask (implements org.gradle.api.file.CopySpec, org.gradle.api.internal.file.copy.CopySpecSource)
          - org.gradle.api.tasks.Copy
          - org.gradle.api.tasks.Sync
        - org.gradle.api.tasks.AbstractExecTask<T> (implements org.gradle.process.ExecSpec)
          - org.gradle.api.tasks.Exec
        - org.gradle.api.tasks.Delete (implements org.gradle.api.file.DeleteSpec)
        - org.gradle.api.tasks.GradleBuild
        - org.gradle.api.tasks.JavaExec (implements org.gradle.process.JavaExecSpec)
        - org.gradle.api.tasks.SourceTask (implements org.gradle.api.tasks.util.PatternFilterable)
        - org.gradle.api.tasks.Upload
      - org.gradle.api.tasks.WriteProperties
  - org.gradle.api.tasks.GroovyRuntime
  - org.gradle.api.tasks.ScalaRuntime
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.gradle.api.GradleException
          - org.gradle.internal.exceptions.DefaultMultiCauseException (implements org.gradle.internal.exceptions.MultiCauseException)
            - org.gradle.api.tasks.TaskExecutionException
          - org.gradle.api.tasks.StopActionException
          - org.gradle.api.tasks.TaskInstantiationException
        - org.gradle.api.tasks.StopExecutionException
  - org.gradle.api.tasks.WorkResults

## Interface Hierarchy

- org.gradle.api.tasks.AntBuilderAware
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.Buildable, java.lang.Iterable<T>)
    - org.gradle.api.tasks.SourceSetOutput
- org.gradle.api.Buildable
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.tasks.AntBuilderAware, java.lang.Iterable<T>)
    - org.gradle.api.tasks.SourceSetOutput
- org.gradle.util.Configurable<T>
  - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.api.NamedDomainObjectSet<T>)
    - org.gradle.api.PolymorphicDomainObjectContainer<T>
      - org.gradle.api.tasks.TaskContainer (also extends org.gradle.api.tasks.TaskCollection<T>)
    - org.gradle.api.tasks.SourceSetContainer
- org.gradle.api.plugins.ExtensionAware
  - org.gradle.api.tasks.SourceSet
- org.gradle.api.tasks.FileNormalizer
  - org.gradle.api.tasks.ClasspathNormalizer
  - org.gradle.api.tasks.CompileClasspathNormalizer
- org.gradle.api.tasks.GroovySourceSet
- java.lang.Iterable<T>
  - java.util.Collection<E>
    - org.gradle.api.DomainObjectCollection<T>
      - org.gradle.api.NamedDomainObjectCollection<T>
        - org.gradle.api.NamedDomainObjectSet<T> (also extends java.util.Set<E>)
          - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.util.Configurable<T>)
            - org.gradle.api.PolymorphicDomainObjectContainer<T>
              - org.gradle.api.tasks.TaskContainer (also extends org.gradle.api.tasks.TaskCollection<T>)
            - org.gradle.api.tasks.SourceSetContainer
          - org.gradle.api.tasks.TaskCollection<T>
            - org.gradle.api.tasks.TaskContainer (also extends org.gradle.api.PolymorphicDomainObjectContainer<T>)
    - java.util.Set<E>
      - org.gradle.api.NamedDomainObjectSet<T> (also extends org.gradle.api.NamedDomainObjectCollection<T>)
        - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.util.Configurable<T>)
          - org.gradle.api.PolymorphicDomainObjectContainer<T>
            - org.gradle.api.tasks.TaskContainer (also extends org.gradle.api.tasks.TaskCollection<T>)
          - org.gradle.api.tasks.SourceSetContainer
        - org.gradle.api.tasks.TaskCollection<T>
          - org.gradle.api.tasks.TaskContainer (also extends org.gradle.api.PolymorphicDomainObjectContainer<T>)
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.tasks.AntBuilderAware, org.gradle.api.Buildable)
    - org.gradle.api.tasks.SourceSetOutput
- org.gradle.api.Named
  - org.gradle.api.tasks.TaskReference
- org.gradle.api.provider.Provider<T>
  - org.gradle.api.NamedDomainObjectProvider<T>
    - org.gradle.api.tasks.TaskProvider<T>
- org.gradle.api.tasks.ScalaSourceSet
- org.gradle.api.tasks.TaskDependency
- org.gradle.api.tasks.TaskDestroyables
- org.gradle.api.tasks.TaskInputs
- org.gradle.api.tasks.TaskLocalState
- org.gradle.api.tasks.TaskOutputs
- org.gradle.api.tasks.TaskPropertyBuilder
  - org.gradle.api.tasks.TaskFilePropertyBuilder
    - org.gradle.api.tasks.TaskInputFilePropertyBuilder
    - org.gradle.api.tasks.TaskOutputFilePropertyBuilder
  - org.gradle.api.tasks.TaskInputPropertyBuilder
- org.gradle.api.tasks.TaskState
- org.gradle.api.tasks.VerificationTask
- org.gradle.api.tasks.WorkResult

## Annotation Type Hierarchy

- org.gradle.api.tasks.CacheableTask (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Classpath (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.CompileClasspath (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Console (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Destroys (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Input (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.InputDirectory (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.InputFile (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.InputFiles (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Internal (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.LocalState (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Nested (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.Optional (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.OutputDirectories (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.OutputDirectory (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.OutputFile (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.OutputFiles (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.PathSensitive (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.SkipWhenEmpty (implements java.lang.annotation.Annotation)
- org.gradle.api.tasks.TaskAction (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.gradle.api.tasks.PathSensitivity