From 1d2796d4912d3655dc2afc7241716ec8106c703d Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 9 Nov 2021 17:01:09 +0100 Subject: [PATCH] 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 --- buildSrc/src/main/kotlin/GradleCommon.kt | 137 ++++++++++++++++++ buildSrc/src/main/kotlin/artifacts.kt | 54 ++++--- ...dle-plugin-common-configuration.gradle.kts | 61 ++++---- ...plugin-dependency-configuration.gradle.kts | 27 ++++ gradle/verification-metadata.xml | 60 ++++++++ .../build.gradle | 20 --- .../android-test-fixes/build.gradle.kts | 21 +-- .../kotlin-gradle-plugin-api/build.gradle.kts | 4 +- .../kotlin-gradle-plugin/build.gradle.kts | 132 ++++++++--------- ...rains.kotlin.android.extensions.properties | 1 - .../org.jetbrains.kotlin.android.properties | 1 - .../org.jetbrains.kotlin.js.properties | 1 - .../org.jetbrains.kotlin.jvm.properties | 1 - .../org.jetbrains.kotlin.kapt.properties | 1 - ...rains.kotlin.multiplatform.pm20.properties | 1 - ....jetbrains.kotlin.multiplatform.properties | 1 - ...tbrains.kotlin.native.cocoapods.properties | 1 - ...tbrains.kotlin.plugin.parcelize.properties | 1 - ...tbrains.kotlin.plugin.scripting.properties | 1 - 19 files changed, 346 insertions(+), 180 deletions(-) create mode 100644 buildSrc/src/main/kotlin/GradleCommon.kt create mode 100644 buildSrc/src/main/kotlin/gradle-plugin-dependency-configuration.gradle.kts delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.extensions.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.js.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.jvm.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.kapt.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.pm20.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.native.cocoapods.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.parcelize.properties delete mode 100644 libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties diff --git a/buildSrc/src/main/kotlin/GradleCommon.kt b/buildSrc/src/main/kotlin/GradleCommon.kt new file mode 100644 index 00000000000..a1f5fcbd2ce --- /dev/null +++ b/buildSrc/src/main/kotlin/GradleCommon.kt @@ -0,0 +1,137 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import org.gradle.api.Project +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.ModuleDependency +import org.gradle.api.plugins.JavaLibraryPlugin +import org.gradle.api.plugins.JavaPlugin.JAVADOC_ELEMENTS_CONFIGURATION_NAME +import org.gradle.api.plugins.JavaPlugin.SOURCES_ELEMENTS_CONFIGURATION_NAME +import org.gradle.api.plugins.JavaPluginExtension +import org.gradle.api.publish.PublishingExtension +import org.gradle.api.publish.maven.MavenPublication +import org.gradle.api.tasks.SourceSet +import org.gradle.jvm.tasks.Jar +import org.gradle.kotlin.dsl.* +import org.gradle.plugin.devel.plugins.JavaGradlePluginPlugin +import org.jetbrains.dokka.gradle.DokkaTask +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import plugins.configureDefaultPublishing +import plugins.configureKotlinPomAttributes + +/** + * Configures common pom configuration parameters + */ +fun Project.configureCommonPublicationSettingsForGradle() { + plugins.withId("maven-publish") { + configureDefaultPublishing() + + extensions.configure { + publications + .withType() + .configureEach { + configureKotlinPomAttributes(project) + } + } + } +} + +/** + * These dependencies will be provided by Gradle, and we should prevent version conflict + */ +fun Configuration.excludeGradleCommonDependencies() { + dependencies + .withType() + .configureEach { + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib") + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk7") + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8") + exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-common") + exclude(group = "org.jetbrains.kotlin", module = "kotlin-reflect") + exclude(group = "org.jetbrains.kotlin", module = "kotlin-script-runtime") + } +} + +/** + * Exclude Gradle runtime from given SourceSet configurations. + */ +fun Project.excludeGradleCommonDependencies(sourceSet: SourceSet) { + configurations[sourceSet.implementationConfigurationName].excludeGradleCommonDependencies() + configurations[sourceSet.apiConfigurationName].excludeGradleCommonDependencies() + configurations[sourceSet.runtimeOnlyConfigurationName].excludeGradleCommonDependencies() +} + +/** + * 'main' sources are used for Gradle 6.1-6.9 versions. + * Directories are renamed into 'src/gradle61'. + */ +fun Project.configureGradlePluginCommonSettings() { + sourceSets.named(SourceSet.MAIN_SOURCE_SET_NAME) { + plugins.withType().configureEach { + // Removing Gradle api default dependency added by 'java-gradle-plugin' + configurations[apiConfigurationName].dependencies.remove(dependencies.gradleApi()) + } + + dependencies { + "compileOnly"(kotlinStdlib()) + // Decoupling gradle-api artifact from current project Gradle version. Later would be useful for + // gradle plugin variants + "compileOnly"("dev.gradleplugins:gradle-api:7.1.1") + if (this@configureGradlePluginCommonSettings.name != "kotlin-gradle-plugin-api") { + "api"(project(":kotlin-gradle-plugin-api")) + } + } + + excludeGradleCommonDependencies(this) + + tasks.withType().configureEach { + if (name == jarTaskName) { + setupPublicJar(archiveBaseName.get()) + addEmbeddedRuntime() + } else if (name == sourcesJarTaskName) { + addEmbeddedSources() + + configurePublishedComponent { + addVariantsFromConfiguration(configurations[SOURCES_ELEMENTS_CONFIGURATION_NAME]) {} + } + } + } + + plugins.withType().configureEach { + this@configureGradlePluginCommonSettings + .extensions + .configure { + withSourcesJar() + withJavadocJar() + } + } + + plugins.withId("org.jetbrains.dokka") { + val dokkaTask = tasks.named("dokkaJavadoc") + + tasks.withType().configureEach { + if (name == javadocJarTaskName) { + from(dokkaTask.flatMap { it.outputDirectory }) + + configurePublishedComponent { + addVariantsFromConfiguration(configurations[JAVADOC_ELEMENTS_CONFIGURATION_NAME]) { } + } + } + } + } + } +} + +fun Project.configureKotlinCompileTasksGradleCompatibility() { + tasks.withType().configureEach { + kotlinOptions.languageVersion = "1.4" + kotlinOptions.apiVersion = "1.4" + kotlinOptions.freeCompilerArgs += listOf( + "-Xskip-prerelease-check", + "-Xsuppress-version-warnings", + "-Xuse-ir" // Needed as long as languageVersion is less than 1.5. + ) + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/artifacts.kt b/buildSrc/src/main/kotlin/artifacts.kt index 8461cc3604e..aaa7266b631 100644 --- a/buildSrc/src/main/kotlin/artifacts.kt +++ b/buildSrc/src/main/kotlin/artifacts.kt @@ -67,15 +67,19 @@ fun Project.noDefaultJar() { } } +fun Jar.addEmbeddedRuntime() { + project.configurations.findByName("embedded")?.let { embedded -> + dependsOn(embedded) + from { + embedded.map(project::zipTree) + } + } +} + fun Project.runtimeJar(body: Jar.() -> Unit = {}): TaskProvider { val jarTask = tasks.named("jar") jarTask.configure { - configurations.findByName("embedded")?.let { embedded -> - dependsOn(embedded) - from { - embedded.map(::zipTree) - } - } + addEmbeddedRuntime() setupPublicJar(project.extensions.getByType().archivesName.get()) duplicatesStrategy = DuplicatesStrategy.EXCLUDE body() @@ -102,34 +106,22 @@ fun Project.runtimeJar(task: TaskProvider, body: ShadowJar.() -> Unit return task } +private fun Project.mainJavaPluginSourceSet() = findJavaPluginExtension()?.sourceSets?.findByName("main") +private fun Project.mainKotlinSourceSet() = + (extensions.findByName("kotlin") as? KotlinSourceSetContainer)?.sourceSets?.findByName("main") +private fun Project.sources() = mainJavaPluginSourceSet()?.allSource ?: mainKotlinSourceSet()?.kotlin + fun Project.sourcesJar(body: Jar.() -> Unit = {}): TaskProvider { configure { withSourcesJar() } val sourcesJar = getOrCreateTask("sourcesJar") { - fun Project.mainJavaPluginSourceSet() = findJavaPluginExtension()?.sourceSets?.findByName("main") - fun Project.mainKotlinSourceSet() = - (extensions.findByName("kotlin") as? KotlinSourceSetContainer)?.sourceSets?.findByName("main") - - fun Project.sources() = mainJavaPluginSourceSet()?.allSource ?: mainKotlinSourceSet()?.kotlin - duplicatesStrategy = DuplicatesStrategy.EXCLUDE archiveClassifier.set("sources") from(project.sources()) - - project.configurations.findByName("embedded")?.let { embedded -> - from(provider { - embedded.resolvedConfiguration - .resolvedArtifacts - .map { it.id.componentIdentifier } - .filterIsInstance() - .mapNotNull { - project(it.projectPath).sources() - } - }) - } + addEmbeddedSources() body() } @@ -144,6 +136,20 @@ fun Project.sourcesJar(body: Jar.() -> Unit = {}): TaskProvider { return sourcesJar } +fun Jar.addEmbeddedSources() { + project.configurations.findByName("embedded")?.let { embedded -> + from(project.provider { + embedded.resolvedConfiguration + .resolvedArtifacts + .map { it.id.componentIdentifier } + .filterIsInstance() + .mapNotNull { + project.project(it.projectPath).sources() + } + }) + } +} + fun Project.javadocJar(body: Jar.() -> Unit = {}): TaskProvider { configure { withJavadocJar() diff --git a/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts b/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts index 2beaaeceef9..599ccc9a993 100644 --- a/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts +++ b/buildSrc/src/main/kotlin/gradle-plugin-common-configuration.gradle.kts @@ -2,50 +2,39 @@ * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import com.gradle.publish.PluginBundleExtension plugins { kotlin("jvm") + `java-gradle-plugin` + id("org.jetbrains.dokka") + `maven-publish` + id("com.gradle.plugin-publish") } -publishGradlePlugin() -standardPublicJars() - +configureCommonPublicationSettingsForGradle() +configureKotlinCompileTasksGradleCompatibility() extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false" -dependencies { - compileOnly(kotlinStdlib()) - compileOnly(gradleApi()) +// common plugin bundle configuration +configure { + website = "https://kotlinlang.org/" + vcsUrl = "https://github.com/jetbrains/kotlin" + tags = listOf("kotlin") } -// These dependencies will be provided by Gradle and we should prevent version conflict -fun Configuration.excludeGradleCommonDependencies() { - exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib") - exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk7") - exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8") - exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-common") - exclude(group = "org.jetbrains.kotlin", module = "kotlin-reflect") - exclude(group = "org.jetbrains.kotlin", module = "kotlin-script-runtime") -} -configurations { - "implementation" { - excludeGradleCommonDependencies() - } - "api" { - excludeGradleCommonDependencies() +configureGradlePluginCommonSettings() + +publishing { + publications { + withType().configureEach { + if (name.endsWith("PluginMarkerMaven")) { + pom { + // https://github.com/gradle/gradle/issues/8754 + // and https://github.com/gradle/gradle/issues/6155 + packaging = "pom" + } + } + } } } - -tasks.withType { - kotlinOptions.languageVersion = "1.4" - kotlinOptions.apiVersion = "1.4" - kotlinOptions.freeCompilerArgs += listOf( - "-Xskip-prerelease-check", - "-Xsuppress-version-warnings", - "-Xuse-ir" // Needed as long as languageVersion is less than 1.5. - ) -} - -tasks.named("jar") { - callGroovy("manifestAttributes", manifest, project) -} diff --git a/buildSrc/src/main/kotlin/gradle-plugin-dependency-configuration.gradle.kts b/buildSrc/src/main/kotlin/gradle-plugin-dependency-configuration.gradle.kts new file mode 100644 index 00000000000..c231583fcde --- /dev/null +++ b/buildSrc/src/main/kotlin/gradle-plugin-dependency-configuration.gradle.kts @@ -0,0 +1,27 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +import plugins.KotlinBuildPublishingPlugin.Companion.DEFAULT_MAIN_PUBLICATION_NAME + +plugins { + `java-library` + kotlin("jvm") + id("org.jetbrains.dokka") + `maven-publish` +} + +configureCommonPublicationSettingsForGradle() +configureKotlinCompileTasksGradleCompatibility() +extensions.extraProperties["kotlin.stdlib.default.dependency"] = "false" + +configureGradlePluginCommonSettings() + +publishing { + publications { + register(DEFAULT_MAIN_PUBLICATION_NAME) { + from(components["java"]) + } + } +} diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 267e660e80f..4014f8ffe9c 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -2873,6 +2873,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4820,6 +4850,12 @@ + + + + + + @@ -5398,6 +5434,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle index 3dc1ecaeedf..f29e280afa9 100644 --- a/libraries/examples/kotlin-gradle-subplugin-example/build.gradle +++ b/libraries/examples/kotlin-gradle-subplugin-example/build.gradle @@ -34,36 +34,16 @@ dependencies { compileOnly project(':dependencies:intellij-core') } -// Relocate `com.intellij.*` and some other classes to match those in the `kotlin-compiler-embeddable` -// (for example, the actual package at runtime is `org.jetbrains.kotlin.com.intellij.*`): -ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDefaultJarDepsToShadedCompiler(project, {}), {}) -// In a standalone build, you can setup the relocation with the Shadow plugin. - -// You should configure your own Gradle plugin publication! -extensions.configure(GradlePluginDevelopmentExtension) { - it.setAutomatedPublishing(false) -} - gradlePlugin { plugins { create("gradle-subplugin-example") { id = "org.jetbrains.kotlin.gradle-subplugin-example" implementationClass = "example.ExampleSubplugin" - } - } -} - -pluginBundle { - plugins { - named("gradle-subplugin-example") { - id = "org.jetbrains.kotlin.gradle-subplugin-example" displayName = "Kotlin Gradle subplugin example" } } } -PluginMarkersKt.publishPluginMarkers(project, true) - // Disable releasing for this plugin // It is not intended to be released publicly tasks.withType(PublishToMavenRepository) diff --git a/libraries/tools/gradle/android-test-fixes/build.gradle.kts b/libraries/tools/gradle/android-test-fixes/build.gradle.kts index c75a8e2a5ee..d7e06363710 100644 --- a/libraries/tools/gradle/android-test-fixes/build.gradle.kts +++ b/libraries/tools/gradle/android-test-fixes/build.gradle.kts @@ -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 { - 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() diff --git a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts index db6413ef85d..64013a16b30 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts @@ -1,7 +1,5 @@ -import org.jetbrains.kotlin.pill.PillExtension - plugins { - id("gradle-plugin-common-configuration") + id("gradle-plugin-dependency-configuration") id("jps-compatible") } diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts index aad1edb2833..bdb9c273902 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts @@ -2,10 +2,7 @@ import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.pill.PillExtension plugins { - java - `java-gradle-plugin` id("gradle-plugin-common-configuration") - id("org.jetbrains.dokka") id("jps-compatible") } @@ -13,13 +10,10 @@ if (!kotlinBuildProperties.isInJpsBuildIdeaSync) { apply(from = "functionalTest.gradle.kts") } -configure { - isAutomatedPublishing = false -} - repositories { google() - maven("https://plugins.gradle.org/m2/") + mavenCentral() + gradlePluginPortal() } pill { @@ -120,8 +114,6 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) { configurations.api.get().exclude("com.android.tools.external.com-intellij", "intellij-core") } -runtimeJar(rewriteDefaultJarDepsToShadedCompiler()) - tasks { named("processResources") { val propertiesToExpand = mapOf( @@ -161,65 +153,67 @@ projectTest { workingDir = rootDir } -pluginBundle { - fun create(name: String, id: String, display: String) { - (plugins).create(name) { - this.id = id - this.displayName = display - this.description = display +gradlePlugin { + plugins { + create("kotlinJvmPlugin") { + id = "org.jetbrains.kotlin.jvm" + description = "Kotlin JVM plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper" + } + create("kotlinJsPlugin") { + id = "org.jetbrains.kotlin.js" + description = "Kotlin JS plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.KotlinJsPluginWrapper" + } + create("kotlinMultiplatformPlugin") { + id = "org.jetbrains.kotlin.multiplatform" + description = "Kotlin Multiplatform plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper" + } + create("kotlinAndroidPlugin") { + id = "org.jetbrains.kotlin.android" + description = "Kotlin Android plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper" + } + create("kotlinAndroidExtensionsPlugin") { + id = "org.jetbrains.kotlin.android.extensions" + description = "Kotlin Android Extensions plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.internal.AndroidExtensionsSubpluginIndicator" + } + create("kotlinParcelizePlugin") { + id = "org.jetbrains.kotlin.plugin.parcelize" + description = "Kotlin Parcelize plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.internal.ParcelizeSubplugin" + } + create("kotlinKaptPlugin") { + id = "org.jetbrains.kotlin.kapt" + description = "Kotlin Kapt plugin" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin" + } + create("kotlinScriptingPlugin") { + id = "org.jetbrains.kotlin.plugin.scripting" + description = "Gradle plugin for kotlin scripting" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin" + } + create("kotlinNativeCocoapodsPlugin") { + id = "org.jetbrains.kotlin.native.cocoapods" + description = "Kotlin Native plugin for CocoaPods integration" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin" + } + create("kotlinMultiplatformPluginPm20") { + id = "org.jetbrains.kotlin.multiplatform.pm20" + description = "Kotlin Multiplatform plugin with PM2.0" + displayName = description + implementationClass = "org.jetbrains.kotlin.gradle.plugin.KotlinPm20PluginWrapper" } } - - create( - name = "kotlinJvmPlugin", - id = "org.jetbrains.kotlin.jvm", - display = "Kotlin JVM plugin" - ) - create( - name = "kotlinJsPlugin", - id = "org.jetbrains.kotlin.js", - display = "Kotlin JS plugin" - ) - create( - name = "kotlinMultiplatformPlugin", - id = "org.jetbrains.kotlin.multiplatform", - display = "Kotlin Multiplatform plugin" - ) - create( - name = "kotlinAndroidPlugin", - id = "org.jetbrains.kotlin.android", - display = "Kotlin Android plugin" - ) - create( - name = "kotlinAndroidExtensionsPlugin", - id = "org.jetbrains.kotlin.android.extensions", - display = "Kotlin Android Extensions plugin" - ) - create( - name = "kotlinParcelizePlugin", - id = "org.jetbrains.kotlin.plugin.parcelize", - display = "Kotlin Parcelize plugin" - ) - create( - name = "kotlinKaptPlugin", - id = "org.jetbrains.kotlin.kapt", - display = "Kotlin Kapt plugin" - ) - create( - name = "kotlinScriptingPlugin", - id = "org.jetbrains.kotlin.plugin.scripting", - display = "Gradle plugin for kotlin scripting" - ) - create( - name = "kotlinNativeCocoapodsPlugin", - id = "org.jetbrains.kotlin.native.cocoapods", - display = "Kotlin Native plugin for CocoaPods integration" - ) - create( - name = "kotlinMultiplatformPluginPm20", - id = "org.jetbrains.kotlin.multiplatform.pm20", - display = "Kotlin Multiplatform plugin with PM2.0" - ) } - -publishPluginMarkers() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.extensions.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.extensions.properties deleted file mode 100644 index a2d03208772..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.extensions.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.internal.AndroidExtensionsSubpluginIndicator \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.properties deleted file mode 100644 index 56c00dcc1a1..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.android.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.js.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.js.properties deleted file mode 100644 index 661fbbe0005..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.js.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.KotlinJsPluginWrapper \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.jvm.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.jvm.properties deleted file mode 100644 index 3a22596804f..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.jvm.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.kapt.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.kapt.properties deleted file mode 100644 index 3249724c1c1..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.kapt.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.pm20.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.pm20.properties deleted file mode 100644 index 0e3370e5635..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.pm20.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.KotlinPm20PluginWrapper \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.properties deleted file mode 100644 index 7e3d7f5489d..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.multiplatform.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.native.cocoapods.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.native.cocoapods.properties deleted file mode 100644 index ca158c10e62..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.native.cocoapods.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.parcelize.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.parcelize.properties deleted file mode 100644 index b98606e394e..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.parcelize.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.internal.ParcelizeSubplugin \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties deleted file mode 100644 index 82bc3b14d8e..00000000000 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin \ No newline at end of file