diff --git a/idea/src/org/jetbrains/kotlin/idea/framework/CustomLibraryDescriptorWithDeferredConfig.kt b/idea/src/org/jetbrains/kotlin/idea/framework/CustomLibraryDescriptorWithDeferredConfig.kt index c85edb079a2..75a143ddf65 100644 --- a/idea/src/org/jetbrains/kotlin/idea/framework/CustomLibraryDescriptorWithDeferredConfig.kt +++ b/idea/src/org/jetbrains/kotlin/idea/framework/CustomLibraryDescriptorWithDeferredConfig.kt @@ -20,6 +20,7 @@ import com.google.common.collect.Lists import com.intellij.framework.library.LibraryVersionProperties import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project +import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.ModifiableRootModel import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.libraries.Library @@ -93,6 +94,9 @@ abstract class CustomLibraryDescriptorWithDeferredConfig configurator.configureLibraryJar(model, jarState, copyToPath, jarDescriptor, collector) } } + + configureKotlinSettings(module.project, rootModel.sdk) + collector.showNotification() } finally { @@ -100,6 +104,9 @@ abstract class CustomLibraryDescriptorWithDeferredConfig } } + protected open fun configureKotlinSettings(project: Project, sdk: Sdk?) { + } + class DeferredCopyFileRequests(private val configurator: KotlinWithLibraryConfigurator) { private val copyFilesRequests = Lists.newArrayList() diff --git a/idea/src/org/jetbrains/kotlin/idea/framework/JavaRuntimeLibraryDescription.kt b/idea/src/org/jetbrains/kotlin/idea/framework/JavaRuntimeLibraryDescription.kt index 97ee8057485..c57bdf8b400 100644 --- a/idea/src/org/jetbrains/kotlin/idea/framework/JavaRuntimeLibraryDescription.kt +++ b/idea/src/org/jetbrains/kotlin/idea/framework/JavaRuntimeLibraryDescription.kt @@ -17,8 +17,12 @@ package org.jetbrains.kotlin.idea.framework import com.intellij.openapi.project.Project +import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.libraries.LibraryKind +import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder import org.jetbrains.kotlin.idea.configuration.KotlinJavaModuleConfigurator +import org.jetbrains.kotlin.idea.versions.bundledRuntimeVersion +import org.jetbrains.kotlin.idea.versions.getDefaultJvmTarget /** * @param project null when project doesn't exist yet (called from project wizard) @@ -32,6 +36,15 @@ class JavaRuntimeLibraryDescription(project: Project?) : KOTLIN_JAVA_RUNTIME_KIND, SUITABLE_LIBRARY_KINDS) { + override fun configureKotlinSettings(project: Project, sdk: Sdk?) { + val defaultJvmTarget = getDefaultJvmTarget(sdk, bundledRuntimeVersion()) + if (defaultJvmTarget != null) { + Kotlin2JvmCompilerArgumentsHolder.getInstance(project).update { + jvmTarget = defaultJvmTarget.description + } + } + } + companion object { val KOTLIN_JAVA_RUNTIME_KIND = LibraryKind.create("kotlin-java-runtime") val LIBRARY_NAME = "KotlinJavaRuntime"