From 8a7a289ceca1a7e35d290b2f24ad3487469e8355 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 11 Apr 2018 12:57:22 +0300 Subject: [PATCH] Configuration: Add migration of JPS project to new non-jvm source roots Original commit: d2bfb8caec36ee4c268401e3d3c8dd3fde1dff47 --- .../org/jetbrains/kotlin/config/facetSerialization.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index 82374598345..21ecb8fd1c3 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -25,6 +25,7 @@ import org.jdom.Element import org.jdom.Text import org.jetbrains.kotlin.cli.common.arguments.* import org.jetbrains.kotlin.load.java.JvmAbi +import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import java.lang.reflect.Modifier import kotlin.reflect.KClass import kotlin.reflect.full.superclasses @@ -93,11 +94,15 @@ private fun readV1Config(element: Element): KotlinFacetSettings { } } +fun Element.getFacetPlatformByConfigurationElement(): TargetPlatformKind<*> { + val platformName = getAttributeValue("platform") + return TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM +} + private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings { return KotlinFacetSettings().apply { element.getAttributeValue("useProjectSettings")?.let { useProjectSettings = it.toBoolean() } - val platformName = element.getAttributeValue("platform") - val platformKind = TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM + val platformKind = element.getFacetPlatformByConfigurationElement() element.getChild("implements")?.let { val items = it.getChildren("implement") implementedModuleNames = if (items.isNotEmpty()) {