Class JavaGradlePluginPlugin

java.lang.Object
org.gradle.plugin.devel.plugins.JavaGradlePluginPlugin
All Implemented Interfaces:
Plugin<Project>

@NullMarked public abstract class JavaGradlePluginPlugin extends Object implements Plugin<Project>
A plugin for building java gradle plugins. Automatically generates plugin descriptors. Emits warnings for common error conditions.

Provides a direct integration with TestKit by declaring the gradleTestKit() dependency for the test compile configuration and a dependency on the plugin classpath manifest generation task for the test runtime configuration. Default conventions can be customized with the help of GradlePluginDevelopmentExtension. Integrates with the 'maven-publish' and 'ivy-publish' plugins to automatically publish the plugins so they can be resolved using the `pluginRepositories` and `plugins` DSL.

See Also:
  • Field Details

    • API_CONFIGURATION

      @Deprecated static final String API_CONFIGURATION
      Deprecated.
      See Also:
    • JAR_TASK

      static final String JAR_TASK
      See Also:
    • PROCESS_RESOURCES_TASK

      static final String PROCESS_RESOURCES_TASK
      See Also:
    • GRADLE_PLUGINS

      static final String GRADLE_PLUGINS
      See Also:
    • PLUGIN_DESCRIPTOR_PATTERN

      static final String PLUGIN_DESCRIPTOR_PATTERN
      See Also:
    • CLASSES_PATTERN

      static final String CLASSES_PATTERN
      See Also:
    • BAD_IMPL_CLASS_WARNING_MESSAGE

      static final String BAD_IMPL_CLASS_WARNING_MESSAGE
      See Also:
    • INVALID_DESCRIPTOR_WARNING_MESSAGE

      static final String INVALID_DESCRIPTOR_WARNING_MESSAGE
      See Also:
    • NO_DESCRIPTOR_WARNING_MESSAGE

      static final String NO_DESCRIPTOR_WARNING_MESSAGE
      See Also:
    • DECLARED_PLUGIN_MISSING_MESSAGE

      static final String DECLARED_PLUGIN_MISSING_MESSAGE
      See Also:
    • DECLARATION_MISSING_ID_MESSAGE

      static final String DECLARATION_MISSING_ID_MESSAGE
      See Also:
    • DECLARATION_MISSING_IMPLEMENTATION_MESSAGE

      static final String DECLARATION_MISSING_IMPLEMENTATION_MESSAGE
      See Also:
    • EXTENSION_NAME

      static final String EXTENSION_NAME
      See Also:
    • PLUGIN_UNDER_TEST_METADATA_TASK_NAME

      static final String PLUGIN_UNDER_TEST_METADATA_TASK_NAME
      See Also:
    • GENERATE_PLUGIN_DESCRIPTORS_TASK_NAME

      static final String GENERATE_PLUGIN_DESCRIPTORS_TASK_NAME
      See Also:
    • VALIDATE_PLUGINS_TASK_NAME

      static final String VALIDATE_PLUGINS_TASK_NAME
      See Also:
    • EXPERIMENTAL_SUPPRESS_GRADLE_API_PROPERTY

      static final org.gradle.internal.buildoption.InternalFlag EXPERIMENTAL_SUPPRESS_GRADLE_API_PROPERTY
      Suppress adding the DependencyHandler#gradleApi() dependency. Experimental property used to test using an external Gradle API dependency.
    • PLUGIN_DEVELOPMENT_GROUP

      static final String PLUGIN_DEVELOPMENT_GROUP
      The task group used for tasks created by the Java Gradle plugin development plugin.
      Since:
      4.0
      See Also:
    • PLUGIN_UNDER_TEST_METADATA_TASK_DESCRIPTION

      static final String PLUGIN_UNDER_TEST_METADATA_TASK_DESCRIPTION
      The description for the task generating metadata for plugin functional tests.
      Since:
      4.0
      See Also:
    • GENERATE_PLUGIN_DESCRIPTORS_TASK_DESCRIPTION

      static final String GENERATE_PLUGIN_DESCRIPTORS_TASK_DESCRIPTION
      The description for the task generating plugin descriptors from plugin declarations.
      Since:
      4.0
      See Also:
    • VALIDATE_PLUGIN_TASK_DESCRIPTION

      static final String VALIDATE_PLUGIN_TASK_DESCRIPTION
      The description for the task validating the plugin.
      Since:
      6.0
      See Also:
  • Constructor Details

    • JavaGradlePluginPlugin

      public JavaGradlePluginPlugin()
  • Method Details

    • apply

      public void apply(Project project)
      Description copied from interface: Plugin
      Apply this plugin to the given target object.
      Specified by:
      apply in interface Plugin<Project>
      Parameters:
      project - The target object