MPP wizard: set sourceCompatibility / jvmTarget for JVM module
Related to KT-23097
This commit is contained in:
committed by
Mikhail Glukhikh
parent
d9aa1796cd
commit
4f2701385d
+17
-6
@@ -61,7 +61,7 @@ abstract class GradleKotlinFrameworkSupportProvider(val frameworkTypeId: String,
|
||||
addSupport(buildScriptData, rootModel.sdk)
|
||||
}
|
||||
|
||||
fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||
open fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||
var kotlinVersion = bundledRuntimeVersion()
|
||||
val additionalRepository = getRepositoryForVersion(kotlinVersion)
|
||||
if (isSnapshot(bundledRuntimeVersion())) {
|
||||
@@ -114,12 +114,13 @@ open class GradleKotlinJavaFrameworkSupportProvider(frameworkTypeId: String = "K
|
||||
|
||||
override fun getDependencies(sdk: Sdk?) = listOf(getStdlibArtifactId(sdk, bundledRuntimeVersion()))
|
||||
|
||||
override fun addSupport(module: Module, rootModel: ModifiableRootModel, modifiableModelsProvider: ModifiableModelsProvider, buildScriptData: BuildScriptDataBuilder) {
|
||||
super.addSupport(module, rootModel, modifiableModelsProvider, buildScriptData)
|
||||
val jvmTarget = getDefaultJvmTarget(rootModel.sdk, bundledRuntimeVersion())
|
||||
override fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||
super.addSupport(buildScriptData, sdk)
|
||||
val jvmTarget = getDefaultJvmTarget(sdk, bundledRuntimeVersion())
|
||||
if (jvmTarget != null) {
|
||||
buildScriptData.addOther("compileKotlin {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n\n")
|
||||
buildScriptData.addOther("compileTestKotlin {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n")
|
||||
val description = jvmTarget.description
|
||||
buildScriptData.addOther("compileKotlin {\n kotlinOptions.jvmTarget = \"$description\"\n}\n\n")
|
||||
buildScriptData.addOther("compileTestKotlin {\n kotlinOptions.jvmTarget = \"$description\"\n}\n")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,6 +156,16 @@ class GradleKotlinMPPJavaFrameworkSupportProvider
|
||||
override fun getPluginId() = "kotlin-platform-jvm"
|
||||
override fun getDescription() = "JVM-specific code for a Kotlin multiplatform project"
|
||||
override fun getTestDependencies() = listOf(MAVEN_TEST_ID, MAVEN_TEST_JUNIT_ID, "junit:junit:4.12")
|
||||
|
||||
override fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||
super.addSupport(buildScriptData, sdk)
|
||||
val jvmTarget = getDefaultJvmTarget(sdk, bundledRuntimeVersion())
|
||||
if (jvmTarget != null) {
|
||||
val description = jvmTarget.description
|
||||
buildScriptData.addOther("sourceCompatibility = \"$description\"\n\n")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class GradleKotlinMPPJSFrameworkSupportProvider
|
||||
|
||||
@@ -236,10 +236,12 @@ fun getDefaultJvmTarget(sdk: Sdk?, version: String): JvmTarget? {
|
||||
return null
|
||||
}
|
||||
val sdkVersion = sdk?.version
|
||||
if (sdkVersion != null && sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_8)) {
|
||||
return JvmTarget.JVM_1_8
|
||||
return when {
|
||||
sdkVersion == null -> null
|
||||
sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_8) -> JvmTarget.JVM_1_8
|
||||
sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_6) -> JvmTarget.JVM_1_6
|
||||
else -> null
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
fun isSnapshot(version: String): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user