Package dev.gradleplugins
Interface GradlePluginDevelopmentApiExtension
-
public interface GradlePluginDevelopmentApiExtensionAn extension for controlling the Gradle plugin development API. The extension is registered on the gradlePlugin extension. The API refers to what a user can build against, e.g. some classes are for internal use only. This extension offers some hook points to accomplish the separation at the source set or Jar task level.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static GradlePluginDevelopmentApiExtensionapi(org.gradle.plugin.devel.GradlePluginDevelopmentExtension extension)Returns api extension from Gradle plugin development extension.org.gradle.api.tasks.TaskProvider<org.gradle.api.tasks.bundling.Jar>getJarTask()Returns the task provider for the exported API JAR.org.gradle.api.provider.Property<org.gradle.api.tasks.SourceSet>getSourceSet()Configures the API source set for the plugin.voidsetJarTask(org.gradle.api.tasks.TaskProvider<org.gradle.api.tasks.bundling.Jar> jarTaskProvider)Configures the API Jar for the plugin.
-
-
-
Method Detail
-
getSourceSet
org.gradle.api.provider.Property<org.gradle.api.tasks.SourceSet> getSourceSet()
Configures the API source set for the plugin.// Configure Gradle plugin API as a custom source set gradlePlugin { api { sourceSet = sourceSets.register('api') } }- Returns:
- a property to configure the API source set, never null.
-
getJarTask
org.gradle.api.tasks.TaskProvider<org.gradle.api.tasks.bundling.Jar> getJarTask()
Returns the task provider for the exported API JAR. Note: Once this property is queried, it's not possible to change the Jar task anymore.- Returns:
- a task provider to the exported API JAR, never null
-
setJarTask
void setJarTask(org.gradle.api.tasks.TaskProvider<org.gradle.api.tasks.bundling.Jar> jarTaskProvider)
Configures the API Jar for the plugin.// Remove `api` packages from implementation JAR tasks.named('jar', Jar) { exclude('**\/api\/**') } // Configure Gradle plugin API as a custom JAR that only include `api` packages gradlePlugin { api { jarTask = tasks.register('apiJar', Jar) { from(sourceSet.flatMap { it.output.elements }) include('**\/api\/**') archiveClassifier = 'api' } } }- Parameters:
jarTaskProvider- a JAR task to use as the exported API JAR, never null.
-
api
static GradlePluginDevelopmentApiExtension api(org.gradle.plugin.devel.GradlePluginDevelopmentExtension extension)
Returns api extension from Gradle plugin development extension. The plugin dev.gradleplugins.gradle-plugin-base registers this extension.- Parameters:
extension- the gradlePlugin extension, must not be null- Returns:
- the compatibility extension, never null
-
-