# Package org.gradle.api.plugins

@NullMarked package org.gradle.api.plugins

- Related Packages
  Package
  Description
  org.gradle.api
  org.gradle.api.plugins.antlr
  org.gradle.api.plugins.catalog
  org.gradle.api.plugins.jvm
  org.gradle.api.plugins.quality
  org.gradle.api.plugins.scala
- Class
  Description
  ApplicationPlugin
  A `Plugin` which packages and runs a project as a Java Application.
  AppliedPlugin
  Represents a plugin that has been applied.
  BasePlugin
  A `Plugin` which defines a basic project lifecycle and some common convention properties.
  BasePluginExtension
  An extension used for `BasePlugin`.
  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.
  ExtraPropertiesExtension.UnknownPropertyException
  The exception that will be thrown when an attempt is made to read a property that is not set.
  FeatureSpec
  Handler for configuring features, which may contribute additional configurations, publications, dependencies, ...
  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.
  InvalidPluginException
  Thrown when a plugin is found to be invalid when it is loaded.
  JavaApplication
  Configuration for a Java application, defining how to assemble the application.
  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.
  JavaPlatformExtension
  The extension to configure a Java platform project.
  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.
  JavaPluginExtension
  Common configuration for JVM (Java) based projects.
  JavaResolutionConsistency
  Dependency resolution consistency configuration for the Java derived plugins.
  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.
  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.
  PluginInstantiationException
  A `PluginInstantiationException` is thrown when a plugin cannot be instantiated.
  PluginManager
  Facilitates applying plugins and determining which plugins have been applied to a `PluginAware` object.
  ProjectReportsPlugin
  A `Plugin` which adds some project visualization report tasks to a project.
  ReportingBasePlugin
  A `Plugin` which provides the basic skeleton for reporting.
  SoftwareReportingTasksPlugin
  Adds various reporting tasks that provide information about a software project, such as information about configurations and dependency reporting tasks that make use of dependency management.
  TestReportAggregationPlugin
  Adds configurations to for resolving variants containing test execution results, which may span multiple subprojects.
  UnknownPluginException
  A `UnknownPluginException` is thrown when an unknown plugin id is provided.
  WarPlugin
  A `Plugin` which extends the `JavaPlugin` to add tasks which assemble a web application into a WAR file.