[Gradle] Add KotlinCompilationSourceDeprecation diagnostic
^KT-58235 Verification Pending
This commit is contained in:
committed by
Space Team
parent
245825cf8b
commit
c3b09e148b
+12
@@ -548,6 +548,18 @@ object KotlinToolingDiagnostics {
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
|
||||
object KotlinCompilationSourceDeprecation : ToolingDiagnosticFactory(ERROR) {
|
||||
operator fun invoke(trace: Throwable?) = build(
|
||||
"""
|
||||
`KotlinCompilation.source(KotlinSourceSet)` method is deprecated
|
||||
and will be removed in upcoming Kotlin releases.
|
||||
|
||||
See https://kotl.in/compilation-source-deprecation for details.
|
||||
""".trimIndent(),
|
||||
throwable = trace,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun String.indentLines(nSpaces: Int = 4, skipFirstLine: Boolean = true): String {
|
||||
|
||||
+3
@@ -15,6 +15,8 @@ import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics.KotlinCompilationSourceDeprecation
|
||||
import org.jetbrains.kotlin.gradle.plugin.diagnostics.kotlinToolingDiagnosticsCollector
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.HierarchyAttributeContainer
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
||||
@@ -91,6 +93,7 @@ internal class KotlinCompilationImpl constructor(
|
||||
|
||||
@Deprecated("scheduled for removal with Kotlin 2.0", level = DeprecationLevel.ERROR)
|
||||
override fun source(sourceSet: KotlinSourceSet) {
|
||||
project.kotlinToolingDiagnosticsCollector.report(project, KotlinCompilationSourceDeprecation(Throwable()))
|
||||
sourceSets.source(sourceSet)
|
||||
}
|
||||
|
||||
|
||||
+11
@@ -106,4 +106,15 @@ class MppDiagnosticsFunctionalTest {
|
||||
kotlin { }
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testKotlinCompilationSourceDeprecation() {
|
||||
checkDiagnosticsWithMppProject("kotlinCompilationSourceDeprecation") {
|
||||
kotlin {
|
||||
val customMain = sourceSets.create("customMain")
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
jvm().compilations.create("custom").source(customMain)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
[KotlinCompilationSourceDeprecation | ERROR] `KotlinCompilation.source(KotlinSourceSet)` method is deprecated
|
||||
and will be removed in upcoming Kotlin releases.
|
||||
|
||||
See https://kotl.in/compilation-source-deprecation for details.
|
||||
Reference in New Issue
Block a user