From d7bd959bd84561f3d8cfa689ce40a25ab1fe55bc Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Fri, 14 Jun 2019 23:46:13 +0300 Subject: [PATCH] HMPP: import flag indicating that the project uses HMPP feature Original commit: e791b9d3f75ab673cbedea5a65a3d975dea24f65 --- .../src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt | 1 + .../src/org/jetbrains/kotlin/config/facetSerialization.kt | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt index 678b3eb075b..6d9185c54dc 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -239,6 +239,7 @@ class KotlinFacetSettings { var isTestModule: Boolean = false var externalProjectId: String = "" + var isHmppEnabled: Boolean = false } interface KotlinFacetSettingsProvider { 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 d451d84c5ba..91dca316390 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -160,6 +160,7 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings { } ?: KotlinModuleKind.DEFAULT isTestModule = element.getAttributeValue("isTestModule")?.toBoolean() ?: false externalProjectId = element.getAttributeValue("externalProjectId") ?: "" + isHmppEnabled = element.getAttribute("isHmppProject")?.booleanValue ?: false element.getChild("compilerSettings")?.let { compilerSettings = CompilerSettings() XmlSerializer.deserializeInto(compilerSettings!!, it) @@ -326,6 +327,9 @@ private fun KotlinFacetSettings.writeLatestConfig(element: Element) { if (externalProjectId.isNotEmpty()) { element.setAttribute("externalProjectId", externalProjectId) } + if (isHmppEnabled) { + element.setAttribute("isHmppProject", isHmppEnabled.toString()) + } productionOutputPath?.let { if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) { element.addContent(Element("productionOutputPath").apply { addContent(PathUtil.toSystemIndependentName(it)) })