[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()
|
""".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 {
|
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.KotlinCommonOptions
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
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.HierarchyAttributeContainer
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
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)
|
@Deprecated("scheduled for removal with Kotlin 2.0", level = DeprecationLevel.ERROR)
|
||||||
override fun source(sourceSet: KotlinSourceSet) {
|
override fun source(sourceSet: KotlinSourceSet) {
|
||||||
|
project.kotlinToolingDiagnosticsCollector.report(project, KotlinCompilationSourceDeprecation(Throwable()))
|
||||||
sourceSets.source(sourceSet)
|
sourceSets.source(sourceSet)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
@@ -106,4 +106,15 @@ class MppDiagnosticsFunctionalTest {
|
|||||||
kotlin { }
|
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