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)
|
addSupport(buildScriptData, rootModel.sdk)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
open fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||||
var kotlinVersion = bundledRuntimeVersion()
|
var kotlinVersion = bundledRuntimeVersion()
|
||||||
val additionalRepository = getRepositoryForVersion(kotlinVersion)
|
val additionalRepository = getRepositoryForVersion(kotlinVersion)
|
||||||
if (isSnapshot(bundledRuntimeVersion())) {
|
if (isSnapshot(bundledRuntimeVersion())) {
|
||||||
@@ -114,12 +114,13 @@ open class GradleKotlinJavaFrameworkSupportProvider(frameworkTypeId: String = "K
|
|||||||
|
|
||||||
override fun getDependencies(sdk: Sdk?) = listOf(getStdlibArtifactId(sdk, bundledRuntimeVersion()))
|
override fun getDependencies(sdk: Sdk?) = listOf(getStdlibArtifactId(sdk, bundledRuntimeVersion()))
|
||||||
|
|
||||||
override fun addSupport(module: Module, rootModel: ModifiableRootModel, modifiableModelsProvider: ModifiableModelsProvider, buildScriptData: BuildScriptDataBuilder) {
|
override fun addSupport(buildScriptData: BuildScriptDataBuilder, sdk: Sdk?) {
|
||||||
super.addSupport(module, rootModel, modifiableModelsProvider, buildScriptData)
|
super.addSupport(buildScriptData, sdk)
|
||||||
val jvmTarget = getDefaultJvmTarget(rootModel.sdk, bundledRuntimeVersion())
|
val jvmTarget = getDefaultJvmTarget(sdk, bundledRuntimeVersion())
|
||||||
if (jvmTarget != null) {
|
if (jvmTarget != null) {
|
||||||
buildScriptData.addOther("compileKotlin {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n\n")
|
val description = jvmTarget.description
|
||||||
buildScriptData.addOther("compileTestKotlin {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n")
|
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 getPluginId() = "kotlin-platform-jvm"
|
||||||
override fun getDescription() = "JVM-specific code for a Kotlin multiplatform project"
|
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 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
|
class GradleKotlinMPPJSFrameworkSupportProvider
|
||||||
|
|||||||
@@ -236,10 +236,12 @@ fun getDefaultJvmTarget(sdk: Sdk?, version: String): JvmTarget? {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
val sdkVersion = sdk?.version
|
val sdkVersion = sdk?.version
|
||||||
if (sdkVersion != null && sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_8)) {
|
return when {
|
||||||
return JvmTarget.JVM_1_8
|
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 {
|
fun isSnapshot(version: String): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user