@NonNullApi

# Package org.gradle.api.plugins

The standard `Plugin` implementations.

- Interface Summary
  Interface | Description
  --- | ---
  AppliedPlugin | Represents a plugin that has been applied.
  Convention | A `Convention` manages a set of convention objects.
  ExtensionAware | Objects that can be extended at runtime with other objects.
  ExtensionContainer | Allows adding 'namespaced' DSL extensions to a target object.
  ExtensionsSchema | Schema of extensions.
  ExtensionsSchema.ExtensionSchema | Schema of an extension.
  ExtraPropertiesExtension | Additional, ad-hoc, properties for Gradle domain objects.
  FeatureSpec | Handler for configuring features, which may contribute additional configurations, publications, dependencies, ...
  JavaApplication | Configuration for a Java application, defining how to assemble the application.
  JavaPlatformExtension | The extension to configure a Java platform project.
  JavaPluginExtension | Common configuration for Java based projects.
  MavenRepositoryHandlerConvention | Allows Maven repositories for publishing artifacts to be defined.
  ObjectConfigurationAction | An `ObjectConfigurationAction` allows you to apply `Plugin`s and scripts to an object or objects.
  PluginAware | Something that can have plugins applied to it.
  PluginCollection<T extends Plugin> | A `PluginCollection` represents a collection of `Plugin` instances.
  PluginContainer | A `PluginContainer` is used to manage a set of `Plugin` instances applied to a particular project.
  PluginManager | Facilitates applying plugins and determining which plugins have been applied to a `PluginAware` object.

- Class Summary
  Class | Description
  --- | ---
  ApplicationPlugin | A `Plugin` which runs a project as a Java Application.
  ApplicationPluginConvention | The `Convention` used for configuring the `ApplicationPlugin`.
  BasePlugin | A `Plugin` which defines a basic project lifecycle and some common convention properties.
  BasePluginConvention | A `Convention` used for the BasePlugin.
  GroovyBasePlugin | Extends `JavaBasePlugin` to provide support for compiling and documenting Groovy source files.
  GroovyPlugin | A `Plugin` which extends the `JavaPlugin` to provide support for compiling and documenting Groovy source files.
  HelpTasksPlugin | Adds various reporting tasks that provide information about the project.
  JavaBasePlugin | A `Plugin` which compiles and tests Java source, and assembles it into a JAR file.
  JavaLibraryDistributionPlugin | A `Plugin` which package a Java project as a distribution including the JAR and runtime dependencies.
  JavaLibraryPlugin | A `Plugin` which extends the capabilities of the `Java plugin` by cleanly separating the API and implementation dependencies of a library.
  JavaPlatformPlugin | The Java platform plugin allows building platform components for Java, which are usually published as BOM files (for Maven) or Gradle platforms (Gradle metadata).
  JavaPlugin | A `Plugin` which compiles and tests Java source, and assembles it into a JAR file.
  JavaPluginConvention | Is mixed into the project when applying the `JavaBasePlugin` or the `JavaPlugin`.
  JavaTestFixturesPlugin | Adds support for producing test fixtures.
  MavenPlugin | Deprecated.
  MavenPluginConvention | Deprecated.
  ProjectReportsPlugin | A `Plugin` which adds some project visualization report tasks to a project.
  ProjectReportsPluginConvention | The conventional configuration for the `ProjectReportsPlugin`.
  ReportingBasePlugin | A `Plugin` which provides the basic skeleton for reporting.
  WarPlugin | A `Plugin` which extends the `JavaPlugin` to add tasks which assemble a web application into a WAR file.
  WarPluginConvention | A `Convention` used for the WarPlugin.

- Exception Summary
  Exception | Description
  --- | ---
  ExtraPropertiesExtension.UnknownPropertyException | The exception that will be thrown when an attempt is made to read a property that is not set.
  InvalidPluginException | Thrown when a plugin is found to be invalid when it is loaded.
  PluginInstantiationException | A `PluginInstantiationException` is thrown when a plugin cannot be instantiated.
  UnknownPluginException | A `UnknownPluginException` is thrown when an unknown plugin id is provided.