# Hierarchy For Package org.gradle.platform.base

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.gradle.api.GradleException
          - org.gradle.platform.base.InvalidModelException
          - org.gradle.platform.base.ModelInstantiationException

## Interface Hierarchy

- org.gradle.platform.base.Binary
  - org.gradle.platform.base.BinarySpec (also extends org.gradle.api.BuildableComponentSpec, org.gradle.api.CheckableComponentSpec)
    - org.gradle.platform.base.ApplicationBinarySpec
    - org.gradle.platform.base.LibraryBinarySpec
- org.gradle.api.Buildable
  - org.gradle.api.BuildableComponentSpec (also extends org.gradle.platform.base.ComponentSpec)
    - org.gradle.platform.base.BinarySpec (also extends org.gradle.platform.base.Binary, org.gradle.api.CheckableComponentSpec)
      - org.gradle.platform.base.ApplicationBinarySpec
      - org.gradle.platform.base.LibraryBinarySpec
- org.gradle.api.component.Component
  - org.gradle.platform.base.Application
  - org.gradle.platform.base.Library
- 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.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
        - org.gradle.platform.base.PlatformContainer
- org.gradle.platform.base.DependencySpec
  - org.gradle.platform.base.LibraryBinaryDependencySpec
  - org.gradle.platform.base.ModuleDependencySpec
  - org.gradle.platform.base.ProjectDependencySpec
- org.gradle.platform.base.DependencySpecBuilder
  - org.gradle.platform.base.ModuleDependencySpecBuilder
  - org.gradle.platform.base.ProjectDependencySpecBuilder
- org.gradle.platform.base.DependencySpecContainer
- java.lang.Iterable<T>
  - java.util.Collection<E>
    - org.gradle.api.DomainObjectCollection<T>
      - org.gradle.api.DomainObjectSet<T> (also extends java.util.Set<E>)
        - org.gradle.platform.base.BinaryTasksCollection
      - 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.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
                - org.gradle.platform.base.PlatformContainer
    - java.util.Set<E>
      - org.gradle.api.DomainObjectSet<T> (also extends org.gradle.api.DomainObjectCollection<T>)
        - org.gradle.platform.base.BinaryTasksCollection
      - 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.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
              - org.gradle.platform.base.PlatformContainer
  - org.gradle.model.ModelMap<T> (also extends org.gradle.model.ModelElement)
    - org.gradle.platform.base.BinaryContainer
    - org.gradle.platform.base.ComponentSpecContainer
- org.gradle.api.Named
  - org.gradle.model.ModelElement
    - org.gradle.platform.base.ComponentSpec
      - org.gradle.api.BuildableComponentSpec (also extends org.gradle.api.Buildable)
        - org.gradle.platform.base.BinarySpec (also extends org.gradle.platform.base.Binary, org.gradle.api.CheckableComponentSpec)
          - org.gradle.platform.base.ApplicationBinarySpec
          - org.gradle.platform.base.LibraryBinarySpec
      - org.gradle.api.CheckableComponentSpec
        - org.gradle.platform.base.BinarySpec (also extends org.gradle.platform.base.Binary, org.gradle.api.BuildableComponentSpec)
          - org.gradle.platform.base.ApplicationBinarySpec
          - org.gradle.platform.base.LibraryBinarySpec
      - org.gradle.platform.base.GeneralComponentSpec (also extends org.gradle.platform.base.SourceComponentSpec, org.gradle.platform.base.VariantComponentSpec)
        - org.gradle.platform.base.ApplicationSpec
        - org.gradle.platform.base.LibrarySpec
      - org.gradle.platform.base.SourceComponentSpec
        - org.gradle.platform.base.GeneralComponentSpec (also extends org.gradle.platform.base.ComponentSpec, org.gradle.platform.base.VariantComponentSpec)
          - org.gradle.platform.base.ApplicationSpec
          - org.gradle.platform.base.LibrarySpec
      - org.gradle.platform.base.VariantComponentSpec (also extends org.gradle.platform.base.VariantComponent)
        - org.gradle.platform.base.GeneralComponentSpec (also extends org.gradle.platform.base.ComponentSpec, org.gradle.platform.base.SourceComponentSpec)
          - org.gradle.platform.base.ApplicationSpec
          - org.gradle.platform.base.LibrarySpec
        - org.gradle.platform.base.PlatformAwareComponentSpec
    - org.gradle.model.ModelMap<T> (also extends java.lang.Iterable<T>)
      - org.gradle.platform.base.BinaryContainer
      - org.gradle.platform.base.ComponentSpecContainer
    - org.gradle.platform.base.VariantComponent
      - org.gradle.platform.base.VariantComponentSpec (also extends org.gradle.platform.base.ComponentSpec)
        - org.gradle.platform.base.GeneralComponentSpec (also extends org.gradle.platform.base.ComponentSpec, org.gradle.platform.base.SourceComponentSpec)
          - org.gradle.platform.base.ApplicationSpec
          - org.gradle.platform.base.LibrarySpec
        - org.gradle.platform.base.PlatformAwareComponentSpec
  - org.gradle.platform.base.Platform
  - org.gradle.platform.base.ToolChain
- org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>
  - org.gradle.api.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.PolymorphicDomainObjectContainer<T>)
    - org.gradle.platform.base.PlatformContainer
- org.gradle.platform.base.ToolChainRegistry<P,T>
- org.gradle.platform.base.TransformationFileType
- org.gradle.platform.base.TypeBuilder<T>

## Annotation Type Hierarchy

- org.gradle.platform.base.Variant (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.BinaryTasks (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.ComponentType (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.ComponentBinaries (implements java.lang.annotation.Annotation)