Deprecate 1.2.x MPP Gradle plugins
Issue #KT-31570 Fixed
This commit is contained in:
+11
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath
|
import com.intellij.testFramework.TestDataPath
|
||||||
|
import org.jetbrains.kotlin.gradle.internals.KOTLIN_12X_MPP_DEPRECATION_WARNING
|
||||||
import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME
|
import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME
|
||||||
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME
|
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME
|
||||||
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_DEPRECATION_WARNING
|
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_DEPRECATION_WARNING
|
||||||
@@ -35,6 +36,9 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
|||||||
|
|
||||||
project.build("build") {
|
project.build("build") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
|
||||||
|
assertContains(KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||||
|
|
||||||
assertTasksExecuted(
|
assertTasksExecuted(
|
||||||
":lib:compileKotlinCommon",
|
":lib:compileKotlinCommon",
|
||||||
":lib:compileTestKotlinCommon",
|
":lib:compileTestKotlinCommon",
|
||||||
@@ -50,6 +54,13 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
|||||||
assertFileExists("libJs/build/classes/kotlin/main/libJs.js")
|
assertFileExists("libJs/build/classes/kotlin/main/libJs.js")
|
||||||
assertFileExists("libJs/build/classes/kotlin/test/libJs_test.js")
|
assertFileExists("libJs/build/classes/kotlin/test/libJs_test.js")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
project.projectDir.resolve("gradle.properties").appendText("\nkotlin.internal.mpp12x.deprecation.suppress=true")
|
||||||
|
project.build {
|
||||||
|
assertSuccessful()
|
||||||
|
|
||||||
|
assertNotContains(KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+18
@@ -26,6 +26,7 @@ import org.gradle.api.tasks.SourceSet
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||||
import org.jetbrains.kotlin.gradle.logging.kotlinWarn
|
import org.jetbrains.kotlin.gradle.logging.kotlinWarn
|
||||||
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
|
||||||
|
|
||||||
abstract class KotlinPlatformPluginBase(protected val platformName: String) : Plugin<Project> {
|
abstract class KotlinPlatformPluginBase(protected val platformName: String) : Plugin<Project> {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -38,6 +39,7 @@ abstract class KotlinPlatformPluginBase(protected val platformName: String) : Pl
|
|||||||
|
|
||||||
open class KotlinPlatformCommonPlugin : KotlinPlatformPluginBase("common") {
|
open class KotlinPlatformCommonPlugin : KotlinPlatformPluginBase("common") {
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
|
warnAboutKotlin12xMppDeprecation(project)
|
||||||
project.applyPlugin<KotlinCommonPluginWrapper>()
|
project.applyPlugin<KotlinCommonPluginWrapper>()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,6 +57,8 @@ open class KotlinPlatformImplementationPluginBase(platformName: String) : Kotlin
|
|||||||
listOf(project.configurations.getByName("compile"))
|
listOf(project.configurations.getByName("compile"))
|
||||||
|
|
||||||
override fun apply(project: Project) {
|
override fun apply(project: Project) {
|
||||||
|
warnAboutKotlin12xMppDeprecation(project)
|
||||||
|
|
||||||
val implementConfig = project.configurations.create(IMPLEMENT_CONFIG_NAME)
|
val implementConfig = project.configurations.create(IMPLEMENT_CONFIG_NAME)
|
||||||
val expectedByConfig = project.configurations.create(EXPECTED_BY_CONFIG_NAME)
|
val expectedByConfig = project.configurations.create(EXPECTED_BY_CONFIG_NAME)
|
||||||
|
|
||||||
@@ -245,3 +249,17 @@ open class KotlinPlatformJsPlugin : KotlinPlatformImplementationPluginBase("js")
|
|||||||
super.apply(project)
|
super.apply(project)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val KOTLIN_12X_MPP_DEPRECATION_WARNING = "\n" + """
|
||||||
|
The 'org.jetbrains.kotlin.platform.*' plugins are deprecated and will no longer be available in Kotlin 1.4.
|
||||||
|
Please migrate the project to the 'org.jetbrains.kotlin.multiplatform' plugin.
|
||||||
|
See: https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html
|
||||||
|
""".trimIndent()
|
||||||
|
|
||||||
|
private const val KOTLIN_12X_MPP_DEPRECATION_SUPPRESS_FLAG = "kotlin.internal.mpp12x.deprecation.suppress"
|
||||||
|
|
||||||
|
private fun warnAboutKotlin12xMppDeprecation(project: Project) {
|
||||||
|
if (project.findProperty(KOTLIN_12X_MPP_DEPRECATION_SUPPRESS_FLAG) != "true") {
|
||||||
|
SingleWarningPerBuild.show(project, KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -27,4 +27,6 @@ const val DISABLED_NATIVE_TARGETS_REPORTER_WARNING_PREFIX: String =
|
|||||||
DisabledNativeTargetsReporter.WARNING_PREFIX
|
DisabledNativeTargetsReporter.WARNING_PREFIX
|
||||||
|
|
||||||
const val NO_NATIVE_STDLIB_WARNING = NO_NATIVE_STDLIB_WARNING
|
const val NO_NATIVE_STDLIB_WARNING = NO_NATIVE_STDLIB_WARNING
|
||||||
const val NO_NATIVE_STDLIB_PROPERTY_WARNING = NO_NATIVE_STDLIB_PROPERTY_WARNING
|
const val NO_NATIVE_STDLIB_PROPERTY_WARNING = NO_NATIVE_STDLIB_PROPERTY_WARNING
|
||||||
|
|
||||||
|
val KOTLIN_12X_MPP_DEPRECATION_WARNING = org.jetbrains.kotlin.gradle.plugin.KOTLIN_12X_MPP_DEPRECATION_WARNING
|
||||||
Reference in New Issue
Block a user