From f06087d5d3b1709e5f90d810651db29489d0e434 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Sat, 15 Apr 2023 21:13:28 +0200 Subject: [PATCH] [gradle] Deprecate kotlin-js plugin in favor of kotlin-multiplatform #KT-57901 Verification Pending --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 12 +++++++++++- .../kotlin/gradle/targets/js/KotlinJsPlugin.kt | 7 +++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 891f7553ade..8a4233ee194 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -1652,6 +1652,16 @@ abstract class AbstractKotlin2JsGradlePluginIT(protected val irBackend: Boolean) } } } + + @DisplayName("test deprecated kotlin-js gradle plugin message reported") + @GradleTest + fun testDeprecatedMessageReported(gradleVersion: GradleVersion) { + project("kotlin2JsInternalTest", gradleVersion) { + build("help") { // just to trigger plugin registration + assertOutputContains("w: 'kotlin-js' Gradle plugin is deprecated and will be removed in the future.") + } + } + } } @JsGradlePluginTests @@ -1661,7 +1671,7 @@ class GeneralKotlin2JsGradlePluginIT : KGPBaseTest() { fun testJsBothModeWithTests(gradleVersion: GradleVersion) { project("kotlin-js-both-mode-with-tests", gradleVersion) { build("build") { - assertNoBuildWarnings() + assertNoBuildWarnings(setOf("w: 'kotlin-js' Gradle plugin is deprecated and will be removed in the future.")) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt index 105064f3aa8..85892b9ee38 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsPlugin.kt @@ -57,6 +57,13 @@ open class KotlinJsPlugin: Plugin { """.trimIndent() ) } + + project.logger.warn( + """ + w: 'kotlin-js' Gradle plugin is deprecated and will be removed in the future. + Please use 'kotlin("multiplatform")' plugin with a 'js()' target instead. See the migration guide: https://kotl.in/t6m3vu + """.trimIndent() + ) } // Explicitly create configurations for main and test