MPP: Support multiple 'expectedBy' dependencies for single module
#KT-22865 Fixed
Original commit: d9aa1796cd
This commit is contained in:
@@ -192,7 +192,7 @@ class KotlinFacetSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var implementedModuleName: String? = null
|
var implementedModuleNames: List<String> = emptyList()
|
||||||
|
|
||||||
var productionOutputPath: String? = null
|
var productionOutputPath: String? = null
|
||||||
var testOutputPath: String? = null
|
var testOutputPath: String? = null
|
||||||
|
|||||||
@@ -99,7 +99,12 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings {
|
|||||||
val platformName = element.getAttributeValue("platform")
|
val platformName = element.getAttributeValue("platform")
|
||||||
val platformKind = TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM
|
val platformKind = TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM
|
||||||
element.getChild("implements")?.let {
|
element.getChild("implements")?.let {
|
||||||
implementedModuleName = (it.content.firstOrNull() as? Text)?.textTrim
|
val items = it.getChildren("implement")
|
||||||
|
implementedModuleNames = if (items.isNotEmpty()) {
|
||||||
|
items.mapNotNull { (it.content.firstOrNull() as? Text)?.textTrim }
|
||||||
|
} else {
|
||||||
|
listOfNotNull((it.content.firstOrNull() as? Text)?.textTrim)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
element.getChild("compilerSettings")?.let {
|
element.getChild("compilerSettings")?.let {
|
||||||
compilerSettings = CompilerSettings()
|
compilerSettings = CompilerSettings()
|
||||||
@@ -237,8 +242,17 @@ private fun KotlinFacetSettings.writeLatestConfig(element: Element) {
|
|||||||
if (!useProjectSettings) {
|
if (!useProjectSettings) {
|
||||||
element.setAttribute("useProjectSettings", useProjectSettings.toString())
|
element.setAttribute("useProjectSettings", useProjectSettings.toString())
|
||||||
}
|
}
|
||||||
implementedModuleName?.let {
|
if (implementedModuleNames.isNotEmpty()) {
|
||||||
element.addContent(Element("implements").apply { addContent(it) })
|
element.addContent(
|
||||||
|
Element("implements").apply {
|
||||||
|
val singleModule = implementedModuleNames.singleOrNull()
|
||||||
|
if (singleModule != null) {
|
||||||
|
addContent(singleModule)
|
||||||
|
} else {
|
||||||
|
implementedModuleNames.map { addContent(Element("implement").apply { addContent(it) }) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
productionOutputPath?.let {
|
productionOutputPath?.let {
|
||||||
if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) {
|
if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) {
|
||||||
|
|||||||
Reference in New Issue
Block a user