@NonNullApi

# Package org.gradle.api.plugins

The standard `Plugin` implementations.

- Interface Summary
  Interface | Description
  --- | ---
  AppliedPlugin | Represents a plugin that has been applied.
  BasePluginExtension | An extension used for `BasePlugin`.
  Convention | Deprecated. Use extensions instead.
  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 JVM (Java) based projects.
  JavaResolutionConsistency | Dependency resolution consistency configuration for the Java derived plugins.
  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 packages and runs a project as a Java Application.
  ApplicationPluginConvention | Deprecated. Use `JavaApplication` instead.
  BasePlugin | A `Plugin` which defines a basic project lifecycle and some common convention properties.
  BasePluginConvention | Deprecated. Use `BasePluginExtension` instead.
  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 | Deprecated. Replaced by `JavaPluginExtension`.
  JavaTestFixturesPlugin | Adds support for producing test fixtures.
  JvmEcosystemPlugin | A base plugin for projects working in a JVM world.
  JvmTestSuitePlugin | A `Plugin` that adds extensions for declaring, compiling and running `JvmTestSuite`s.
  JvmToolchainManagementPlugin | A plugin that provides JVM specific `ToolchainManagement` configuration.
  JvmToolchainsPlugin | A plugin that provides JVM toolchains for projects that need to execute Java from local JVM installations or run the tools included in a JDK.
  ProjectReportsPlugin | A `Plugin` which adds some project visualization report tasks to a project.
  ProjectReportsPluginConvention | Deprecated. Please configure the tasks directly.
  ReportingBasePlugin | A `Plugin` which provides the basic skeleton for reporting.
  TestReportAggregationPlugin | Adds configurations to for resolving variants containing test execution results, which may span multiple subprojects.
  WarPlugin | A `Plugin` which extends the `JavaPlugin` to add tasks which assemble a web application into a WAR file.
  WarPluginConvention | Deprecated. Please configure the tasks directly.

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