Package org.gradle.plugin.devel

# Class PluginDeclaration

java.lang.Object
org.gradle.plugin.devel.PluginDeclaration

All Implemented Interfaces:
  `Named`

public abstract class PluginDeclaration extends Object implements Named
Describes a Gradle plugin under development.

Since:
  2.14
See Also:
  - `JavaGradlePluginPlugin`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.gradle.api.Named

  `Named.Namer`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PluginDeclaration(String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Property<String>`
  `getDescription()`
  Returns the description for this plugin declaration.
  `abstract Property<String>`
  `getDisplayName()`
  Returns the display name for this plugin declaration.
  `abstract Property<String>`
  `getId()`
  `abstract Property<String>`
  `getImplementationClass()`
  `String`
  `getName()`
  The object's name.
  `abstract SetProperty<String>`
  `getTags()`
  Returns the tags property for this plugin declaration.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PluginDeclaration

    public PluginDeclaration(String name)

- ## Method Details

  - ### getName

    public String getName()
    Description copied from interface: `Named`
    The object's name.

    Must be constant for the life of the object.

    Specified by:
      `getName` in interface `Named`
    Returns:
      The name. Never null.

  - ### getId

    public abstract Property<String> getId()

  - ### getImplementationClass

    public abstract Property<String> getImplementationClass()

  - ### getDisplayName

    public abstract Property<String> getDisplayName()
    Returns the display name for this plugin declaration.

    The display name is used when publishing this plugin to repositories that support human-readable artifact names.

    Since:
      4.10

  - ### getDescription

    public abstract Property<String> getDescription()
    Returns the description for this plugin declaration.

    The description is used when publishing this plugin to repositories that support providing descriptions for artifacts.

    Since:
      4.10

  - ### getTags

    public abstract SetProperty<String> getTags()
    Returns the tags property for this plugin declaration.

    Tags are used when publishing this plugin to repositories that support tagging plugins, for example the Gradle Plugin Portal.

    Since:
      7.6