[mpp] Mark Kotlin12XMppDeprecation as FATAL

Old MPP plugins are deprecated for a long time. It is time to report
fatal error for such cases.
Our stdlib still and kotlin-test still using them, so we cannot just
completely remove them, but there is a way to suppress this error:
kotlin.internal.mpp12x.deprecation.suppress=true

Code for the old plugins (together with the remaining testsdata)
will be completely removed once stdlib and kotlin-test
migration completed. ETA: ~ 2.0-Mx

#KT-60553 Verification Pending
This commit is contained in:
Stanislav Erokhin
2023-07-19 15:34:54 +02:00
committed by Space Team
parent 955520f69e
commit ecbc40cf92
11 changed files with 31 additions and 10 deletions
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.gradle.testbase.assertNoDiagnostic
import org.jetbrains.kotlin.gradle.util.AGPVersion
import org.jetbrains.kotlin.gradle.util.getFileByName
import org.jetbrains.kotlin.gradle.util.modify
import org.jetbrains.kotlin.gradle.util.replaceText
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.junit.Test
import java.io.File
@@ -43,11 +44,29 @@ class MultiplatformGradleIT : BaseGradleIT() {
fun testMultiplatformCompile() {
val project = Project("multiplatformProject")
project.setupWorkingDir()
// remove the default suppression that was added for all other tests
project.projectDir.resolve("gradle.properties").replaceText("kotlin.internal.mpp12x.deprecation.suppress=true", "")
project.build("build") {
assertSuccessful()
assertFailed()
assertHasDiagnostic(KotlinToolingDiagnostics.Kotlin12XMppDeprecation)
assertTasksNotExecuted(
":lib:compileKotlinCommon",
":lib:compileTestKotlinCommon",
":libJvm:compileKotlin",
":libJvm:compileTestKotlin",
)
}
project.projectDir.resolve("gradle.properties").appendText("\nkotlin.internal.mpp12x.deprecation.suppress=true")
project.build("build") {
assertSuccessful()
assertNoDiagnostic(KotlinToolingDiagnostics.Kotlin12XMppDeprecation)
assertTasksExecuted(
":lib:compileKotlinCommon",
":lib:compileTestKotlinCommon",
@@ -59,13 +78,6 @@ class MultiplatformGradleIT : BaseGradleIT() {
assertFileExists("libJvm/build/classes/kotlin/main/foo/PlatformClass.class")
assertFileExists("libJvm/build/classes/kotlin/test/foo/PlatformTest.class")
}
project.projectDir.resolve("gradle.properties").appendText("\nkotlin.internal.mpp12x.deprecation.suppress=true")
project.build {
assertSuccessful()
assertNoDiagnostic(KotlinToolingDiagnostics.Kotlin12XMppDeprecation)
}
}
@Test
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -0,0 +1 @@
kotlin.internal.mpp12x.deprecation.suppress=true
@@ -207,10 +207,10 @@ object KotlinToolingDiagnostics {
)
}
object Kotlin12XMppDeprecation : ToolingDiagnosticFactory(WARNING) {
object Kotlin12XMppDeprecation : ToolingDiagnosticFactory(FATAL) {
operator fun invoke() = build(
"""
The 'org.jetbrains.kotlin.platform.*' plugins are deprecated and are no longer available since Kotlin 1.4.
The 'org.jetbrains.kotlin.platform.*' plugins are no longer available.
Please migrate the project to the 'org.jetbrains.kotlin.multiplatform' plugin.
See: https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html
""".trimIndent()