mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 11:53:49 +07:00
[kotlin] add included compositeParticipants submodules as related gradle modules
^KTIJ-29733 Fixed GitOrigin-RevId: e37c38cc1d2abc37b260632e38afe4f3f137b8b1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5825091eb1
commit
e6a22d4577
@@ -15,19 +15,22 @@ import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
class GradleScriptAdditionalIdeaDependenciesProvider : ScriptAdditionalIdeaDependenciesProvider() {
|
||||
override fun getRelatedModules(file: VirtualFile, project: Project): List<Module> {
|
||||
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
||||
|
||||
val projectSettings = gradleSettings.linkedProjectsSettings.filterIsInstance<GradleProjectSettings>().firstOrNull()
|
||||
?: return emptyList()
|
||||
val includedModulesPath: List<String> = projectSettings.compositeBuild?.compositeParticipants?.mapNotNull { part ->
|
||||
projectSettings.modules.find { it == part.rootPath }
|
||||
} ?: emptyList()
|
||||
|
||||
val includedModulesPath: List<String> = projectSettings.compositeBuild?.compositeParticipants?.filter { part ->
|
||||
projectSettings.modules.any { it == part.rootPath }
|
||||
}?.flatMap { it.projects } ?: emptyList()
|
||||
|
||||
val includedModulesBuildSrcPaths = includedModulesPath.map { "$it/buildSrc" }
|
||||
|
||||
val rootBuildSrcPath = "${projectSettings.externalProjectPath}/buildSrc"
|
||||
|
||||
return (includedModulesPath + includedModulesBuildSrcPaths + rootBuildSrcPath).flatMap { path ->
|
||||
ModuleManager.getInstance(project).modules.filter {
|
||||
ExternalSystemApiUtil.getExternalProjectPath(it) == path
|
||||
}
|
||||
val pathsToCheck = (includedModulesPath + includedModulesBuildSrcPaths + rootBuildSrcPath).toSet()
|
||||
|
||||
return ModuleManager.getInstance(project).modules.filter {
|
||||
pathsToCheck.contains(ExternalSystemApiUtil.getExternalProjectPath(it))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user