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 ad70f9a0726..8816ee3069c 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -240,6 +240,8 @@ class KotlinFacetSettings { var externalProjectId: String = "" var isHmppEnabled: Boolean = false + + var pureKotlinSourceFolders: List = emptyList() } 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 92c7d934f64..900c1ad90fc 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -161,6 +161,7 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings { isTestModule = element.getAttributeValue("isTestModule")?.toBoolean() ?: false externalProjectId = element.getAttributeValue("externalProjectId") ?: "" isHmppEnabled = element.getAttribute("isHmppProject")?.booleanValue ?: false + pureKotlinSourceFolders = element.getAttributeValue("pureKotlinSourceFolders")?.split(";")?.toList() ?: emptyList() element.getChild("compilerSettings")?.let { compilerSettings = CompilerSettings() XmlSerializer.deserializeInto(compilerSettings!!, it) @@ -331,6 +332,9 @@ private fun KotlinFacetSettings.writeLatestConfig(element: Element) { if (isHmppEnabled) { element.setAttribute("isHmppProject", isHmppEnabled.toString()) } + if (pureKotlinSourceFolders.isNotEmpty()) { + element.setAttribute("pureKotlinSourceFolders", pureKotlinSourceFolders.joinToString(";")) + } productionOutputPath?.let { if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) { element.addContent(Element("productionOutputPath").apply { addContent(PathUtil.toSystemIndependentName(it)) })