Update Gradle plugins publishing setup

Simplifies and make it aligned with official documentation, which
removes some old workarounds. Additionally, it enables publication of
Gradle metadata file, which is required for plugin variants feature
support.

Instead of using 'gradleApi()' as Gradle API dependency, which provides
build current Gradle version api, now setup is using
"dev.gradleplugins:gradle-api" artifacts with specific Gradle version.
This allows to have more fine-grained Gradle support for removed apis.

^KT-49227 In Progress
This commit is contained in:
Yahor Berdnikau
2021-11-09 17:01:09 +01:00
committed by Space
parent e4610d9df6
commit 1d2796d491
19 changed files with 346 additions and 180 deletions
@@ -1,9 +1,7 @@
import plugins.KotlinBuildPublishingPlugin
plugins {
id("java-gradle-plugin")
id("gradle-plugin-common-configuration")
id("com.gradle.plugin-publish")
}
repositories {
@@ -18,30 +16,17 @@ dependencies {
compileOnly("com.android.tools.build:builder-model:3.4.0")
}
configure<GradlePluginDevelopmentExtension> {
isAutomatedPublishing = false
}
gradlePlugin {
(plugins) {
plugins {
create("android-test-fixes") {
id = "org.jetbrains.kotlin.test.fixes.android"
displayName = "AndroidTestFixes"
description = displayName
implementationClass = "org.jetbrains.kotlin.gradle.test.fixes.android.AndroidTestFixesPlugin"
}
}
}
pluginBundle {
(plugins) {
named("android-test-fixes") {
id = "org.jetbrains.kotlin.test.fixes.android"
displayName = "AndroidTestFixes"
}
}
}
publishPluginMarkers()
// Disable releasing for this plugin
// It is not intended to be released publicly
tasks.withType<PublishToMavenRepository>()