Set default jvmTarget in new JPS projects
This commit is contained in:
+7
@@ -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<CopyFileRequest>()
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user