[mpp] Migrate jvmWithJava preset deprecation to the new infra
This commit is contained in:
committed by
Space Team
parent
05662eae7a
commit
ee9a952da2
+5
-4
@@ -16,14 +16,15 @@ import org.jetbrains.kotlin.gradle.native.transformNativeTestProject
|
|||||||
import org.jetbrains.kotlin.gradle.native.transformNativeTestProjectWithPluginDsl
|
import org.jetbrains.kotlin.gradle.native.transformNativeTestProjectWithPluginDsl
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.ProjectLocalConfigurations
|
import org.jetbrains.kotlin.gradle.plugin.ProjectLocalConfigurations
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
|
||||||
import org.jetbrains.kotlin.gradle.plugin.lowerName
|
import org.jetbrains.kotlin.gradle.plugin.lowerName
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmWithJavaTargetPreset
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMultiplatformPlugin
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.UnusedSourceSetsChecker
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.METADATA_CONFIGURATION_NAME_SUFFIX
|
import org.jetbrains.kotlin.gradle.plugin.sources.METADATA_CONFIGURATION_NAME_SUFFIX
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.UnsatisfiedSourceSetVisibilityException
|
import org.jetbrains.kotlin.gradle.plugin.sources.UnsatisfiedSourceSetVisibilityException
|
||||||
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
||||||
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
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.*
|
import org.jetbrains.kotlin.gradle.util.*
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
|
import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
|
||||||
@@ -668,9 +669,9 @@ open class NewMultiplatformIT : BaseGradleIT() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (testJavaSupportInJvmTargets) {
|
if (testJavaSupportInJvmTargets) {
|
||||||
assertNotContains(KotlinJvmWithJavaTargetPreset.DEPRECATION_WARNING)
|
assertNoDiagnostic(KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic)
|
||||||
} else {
|
} else {
|
||||||
assertContains(KotlinJvmWithJavaTargetPreset.DEPRECATION_WARNING)
|
assertHasDiagnostic(KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic)
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTasksExecuted(":run")
|
assertTasksExecuted(":run")
|
||||||
|
|||||||
+19
@@ -35,4 +35,23 @@ object KotlinToolingDiagnostics {
|
|||||||
.onlyIf(changedKotlinNativeHomeProperty != null)
|
.onlyIf(changedKotlinNativeHomeProperty != null)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object DeprecatedJvmWithJavaPresetDiagnostic : ToolingDiagnosticFactory(WARNING) {
|
||||||
|
operator fun invoke() = build(
|
||||||
|
"""
|
||||||
|
The 'jvmWithJava' preset is deprecated and will be removed soon. Please use an ordinary JVM target with Java support:
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
jvm {
|
||||||
|
withJava()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
After this change, please move the Java sources to the Kotlin source set directories.
|
||||||
|
For example, if the JVM target is given the default name 'jvm':
|
||||||
|
* instead of 'src/main/java', use 'src/jvmMain/java'
|
||||||
|
* instead of 'src/test/java', use 'src/jvmTest/java'
|
||||||
|
""".trimIndent()
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-19
@@ -8,11 +8,13 @@ package org.jetbrains.kotlin.gradle.plugin.mpp
|
|||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.JavaPlugin
|
import org.gradle.api.plugins.JavaPlugin
|
||||||
import org.jetbrains.kotlin.gradle.dsl.*
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
|
||||||
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault
|
||||||
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnostic
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||||
import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild
|
|
||||||
import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2
|
import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2
|
||||||
|
|
||||||
class KotlinJvmWithJavaTargetPreset(
|
class KotlinJvmWithJavaTargetPreset(
|
||||||
@@ -22,10 +24,7 @@ class KotlinJvmWithJavaTargetPreset(
|
|||||||
override fun getName(): String = PRESET_NAME
|
override fun getName(): String = PRESET_NAME
|
||||||
|
|
||||||
override fun createTarget(name: String): KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions> {
|
override fun createTarget(name: String): KotlinWithJavaTarget<KotlinJvmOptions, KotlinJvmCompilerOptions> {
|
||||||
SingleWarningPerBuild.show(
|
project.reportDiagnostic(KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic())
|
||||||
project,
|
|
||||||
DEPRECATION_WARNING
|
|
||||||
)
|
|
||||||
|
|
||||||
project.plugins.apply(JavaPlugin::class.java)
|
project.plugins.apply(JavaPlugin::class.java)
|
||||||
|
|
||||||
@@ -83,17 +82,5 @@ class KotlinJvmWithJavaTargetPreset(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val PRESET_NAME = "jvmWithJava"
|
const val PRESET_NAME = "jvmWithJava"
|
||||||
|
|
||||||
val DEPRECATION_WARNING = "\nThe 'jvmWithJava' preset is deprecated and will be removed soon. " +
|
|
||||||
"Please use an ordinary JVM target with Java support: \n\n" +
|
|
||||||
" kotlin { \n" +
|
|
||||||
" jvm { \n" +
|
|
||||||
" ${KotlinJvmTarget::withJava.name}() \n" +
|
|
||||||
" } \n" +
|
|
||||||
" }\n\n" +
|
|
||||||
"After this change, please move the Java sources to the Kotlin source set directories. " +
|
|
||||||
"For example, if the JVM target is given the default name 'jvm':\n" +
|
|
||||||
" * instead of 'src/main/java', use 'src/jvmMain/java'\n" +
|
|
||||||
" * instead of 'src/test/java', use 'src/jvmTest/java'\n"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user