# Class GeneratePluginDescriptors

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

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

@DisableCachingByDefault(because="Not worth caching") public abstract class GeneratePluginDescriptors extends DefaultTask
Generates plugin descriptors from plugin declarations.

Since:
  2.14

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `generatePluginDescriptors()`
  Generate plugin descriptors.
  `abstract ListProperty<PluginDeclaration>`
  `getDeclarations()`
  The plugin declarations used to create the descriptors.
  `protected abstract org.gradle.internal.file.Deleter`
  `getDeleter()`
  `(package private) Provider<Map<String,String>>`
  `getImplementationClassById()`
  Returns all `(id, implementation class)` pairs from `getDeclarations()`.
  `abstract DirectoryProperty`
  `getOutputDirectory()`
  Returns the output directory.

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

  - ### GeneratePluginDescriptors

    public GeneratePluginDescriptors()
    Creates a new `GeneratePluginDescriptors`.
    Since:
      2.14

- ## Method Details

  - ### getDeclarations

    @Internal("Changes for the declarations are tracked via implementationClassById") public abstract ListProperty<PluginDeclaration> getDeclarations()
    The plugin declarations used to create the descriptors.
    Since:
      2.14

  - ### getImplementationClassById

    @Input Provider<Map<String,String>> getImplementationClassById()
    Returns all `(id, implementation class)` pairs from `getDeclarations()`.

    This map is the only input needed from the plugin declarations to create the plugin descriptors.

  - ### getOutputDirectory

    @OutputDirectory public abstract DirectoryProperty getOutputDirectory()
    Returns the output directory.
    Since:
      2.14

  - ### generatePluginDescriptors

    public void generatePluginDescriptors()
    Generate plugin descriptors.
    Since:
      2.14

  - ### getDeleter

    @Inject protected abstract org.gradle.internal.file.Deleter getDeleter()