Take dependsOn-graph from corresponding property for MPP.M3
This commit is contained in:
+27
-11
@@ -55,25 +55,41 @@ val Module.implementingModules: List<Module>
|
|||||||
get() = cacheInvalidatingOnRootModifications {
|
get() = cacheInvalidatingOnRootModifications {
|
||||||
val moduleManager = ModuleManager.getInstance(project)
|
val moduleManager = ModuleManager.getInstance(project)
|
||||||
|
|
||||||
if (isNewMPPModule) {
|
when (facetSettings?.mppVersion) {
|
||||||
moduleManager.getModuleDependentModules(this).filter {
|
null -> emptyList()
|
||||||
|
|
||||||
|
KotlinMultiplatformVersion.M3 -> moduleManager.modules.filter { it.facetSettings?.dependsOnModuleNames?.contains(name) == true }
|
||||||
|
|
||||||
|
KotlinMultiplatformVersion.M2 -> moduleManager.getModuleDependentModules(this).filter {
|
||||||
it.isNewMPPModule && it.externalProjectId == externalProjectId
|
it.isNewMPPModule && it.externalProjectId == externalProjectId
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
moduleManager.modules.filter { name in it.findOldFashionedImplementedModuleNames() }
|
KotlinMultiplatformVersion.M1 -> moduleManager.modules.filter { name in it.findOldFashionedImplementedModuleNames() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val Module.implementedModules: List<Module>
|
val Module.implementedModules: List<Module>
|
||||||
get() = cacheInvalidatingOnRootModifications {
|
get() = cacheInvalidatingOnRootModifications {
|
||||||
if (isNewMPPModule) {
|
val facetSettings = facetSettings
|
||||||
rootManager.dependencies.filter {
|
when (facetSettings?.mppVersion) {
|
||||||
// TODO: remove additional android check
|
null -> emptyList()
|
||||||
it.isNewMPPModule && it.platform.isCommon() && it.externalProjectId == externalProjectId && (isAndroidModule() || it.isTestModule == isTestModule)
|
|
||||||
|
KotlinMultiplatformVersion.M3 -> {
|
||||||
|
val modelsProvider = IdeModelsProviderImpl(project)
|
||||||
|
facetSettings.dependsOnModuleNames.mapNotNull { modelsProvider.findIdeModule(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
KotlinMultiplatformVersion.M2 -> {
|
||||||
|
rootManager.dependencies.filter {
|
||||||
|
// TODO: remove additional android check
|
||||||
|
it.isNewMPPModule && it.platform.isCommon() && it.externalProjectId == externalProjectId && (isAndroidModule() || it.isTestModule == isTestModule)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
KotlinMultiplatformVersion.M1 -> {
|
||||||
|
val modelsProvider = IdeModelsProviderImpl(project)
|
||||||
|
findOldFashionedImplementedModuleNames().mapNotNull { modelsProvider.findIdeModule(it) }
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
val modelsProvider = IdeModelsProviderImpl(project)
|
|
||||||
findOldFashionedImplementedModuleNames().mapNotNull { modelsProvider.findIdeModule(it) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user