[Gradle] Migrate warning about pre-1.3 MPP plugins
This commit is contained in:
+7
-5
@@ -19,11 +19,13 @@ package org.jetbrains.kotlin.gradle
|
||||
import com.intellij.testFramework.TestDataPath
|
||||
import org.gradle.api.logging.LogLevel
|
||||
import org.gradle.util.GradleVersion
|
||||
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.IMPLEMENT_CONFIG_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_DEPRECATION_WARNING
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
|
||||
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||
import org.jetbrains.kotlin.gradle.testbase.assertHasDiagnostic
|
||||
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
|
||||
@@ -43,7 +45,7 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
|
||||
assertContains(KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||
assertHasDiagnostic(KotlinToolingDiagnostics.Kotlin12XMppDeprecation)
|
||||
|
||||
assertTasksExecuted(
|
||||
":lib:compileKotlinCommon",
|
||||
@@ -61,7 +63,7 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
||||
project.build {
|
||||
assertSuccessful()
|
||||
|
||||
assertNotContains(KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||
assertNoDiagnostic(KotlinToolingDiagnostics.Kotlin12XMppDeprecation)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -287,7 +289,7 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
||||
"actual fun foo(): String = \"jvm\"" to "libJvm/src/$sourceSetName/kotlin",
|
||||
).forEach { (code, path) ->
|
||||
File(projectDir, path).run {
|
||||
mkdirs();
|
||||
mkdirs()
|
||||
File(this, "Foo.kt").writeText(code)
|
||||
}
|
||||
}
|
||||
@@ -367,4 +369,4 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
||||
assertTasksExecuted(":lib1:compileDebugKotlin")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-8
@@ -23,9 +23,10 @@ import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.tasks.SourceSet
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.logging.kotlinWarn
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnosticOncePerBuild
|
||||
import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor
|
||||
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
|
||||
import org.jetbrains.kotlin.gradle.utils.androidPluginIds
|
||||
import org.jetbrains.kotlin.gradle.utils.getOrPut
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
@@ -241,16 +242,10 @@ internal fun <T> Project.whenEvaluated(fn: Project.() -> T) {
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
internal fun warnAboutKotlin12xMppDeprecation(project: Project) {
|
||||
if (project.findProperty(KOTLIN_12X_MPP_DEPRECATION_SUPPRESS_FLAG) != "true") {
|
||||
SingleWarningPerBuild.show(project, KOTLIN_12X_MPP_DEPRECATION_WARNING)
|
||||
project.reportDiagnosticOncePerBuild(KotlinToolingDiagnostics.Kotlin12XMppDeprecation())
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -210,4 +210,14 @@ object KotlinToolingDiagnostics {
|
||||
"Available values: prebuilt, light"
|
||||
)
|
||||
}
|
||||
|
||||
object Kotlin12XMppDeprecation : ToolingDiagnosticFactory(WARNING) {
|
||||
operator fun invoke() = build(
|
||||
"""
|
||||
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()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-4
@@ -5,14 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.internals
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.KOTLIN_12X_MPP_DEPRECATION_WARNING
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.DIAGNOSTIC_SEPARATOR
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinProjectStructureMetadata
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.parseKotlinSourceSetMetadataFromJson
|
||||
import org.jetbrains.kotlin.gradle.targets.native.DisabledNativeTargetsReporter
|
||||
|
||||
fun parseKotlinSourceSetMetadataFromJson(json: String): KotlinProjectStructureMetadata? = parseKotlinSourceSetMetadataFromJson(json)
|
||||
fun parseKotlinSourceSetMetadataFromJson(json: String): KotlinProjectStructureMetadata = parseKotlinSourceSetMetadataFromJson(json)
|
||||
|
||||
const val MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME = MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME
|
||||
|
||||
@@ -20,6 +19,4 @@ const val DISABLED_NATIVE_TARGETS_REPORTER_DISABLE_WARNING_PROPERTY_NAME = Disab
|
||||
|
||||
const val DISABLED_NATIVE_TARGETS_REPORTER_WARNING_PREFIX: String = DisabledNativeTargetsReporter.WARNING_PREFIX
|
||||
|
||||
val KOTLIN_12X_MPP_DEPRECATION_WARNING = KOTLIN_12X_MPP_DEPRECATION_WARNING
|
||||
|
||||
const val VERBOSE_DIAGNOSTIC_SEPARATOR = DIAGNOSTIC_SEPARATOR
|
||||
|
||||
Reference in New Issue
Block a user