From 597068a704ffffaaddd94b3025a80cb8967916d2 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 17 Jan 2017 18:26:20 +0300 Subject: [PATCH] Kotlin Facet: Import API version from Maven #KT-15772 Fixed --- .../org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt index 01730ca6871..ac1e05d487d 100644 --- a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt @@ -35,6 +35,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType import org.jetbrains.jps.model.module.JpsModuleSourceRootType import org.jetbrains.kotlin.config.CoroutineSupport import org.jetbrains.kotlin.config.JvmTarget +import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.TargetPlatformKind import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor import org.jetbrains.kotlin.idea.facet.KotlinFacet @@ -105,12 +106,14 @@ class KotlinMavenImporter : MavenImporter(KOTLIN_PLUGIN_GROUP_ID, KOTLIN_PLUGIN_ } private fun configureFacet(mavenProject: MavenProject, modifiableModelsProvider: IdeModifiableModelsProvider, module: Module) { - val compilerVersion = mavenProject.findPlugin(KotlinMavenConfigurator.GROUP_ID, KotlinMavenConfigurator.MAVEN_PLUGIN_ID)?.version - ?: return + val mavenPlugin = mavenProject.findPlugin(KotlinMavenConfigurator.GROUP_ID, KotlinMavenConfigurator.MAVEN_PLUGIN_ID) + val compilerVersion = mavenPlugin?.version ?: return val kotlinFacet = module.getOrCreateFacet(modifiableModelsProvider, false) val platform = detectPlatformByExecutions(mavenProject) ?: detectPlatformByLibraries(mavenProject) kotlinFacet.configureFacet(compilerVersion, CoroutineSupport.DEFAULT, platform, modifiableModelsProvider) + val apiVersion = mavenPlugin.configurationElement?.getChild("apiVersion")?.text?.let { LanguageVersion.fromFullVersionString(it) } + kotlinFacet.configuration.settings.versionInfo.apiLevel = apiVersion MavenProjectImportHandler.getInstances(module.project).forEach { it(kotlinFacet, mavenProject) } }