From 92a160e6c3e0b14b5e84bbaa805143b5db8552c5 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Fri, 15 Feb 2019 10:41:42 +0300 Subject: [PATCH] Fix navigation to buildSrc from scripts buildSrc folder should be placed under project dir (root or included project) ^KT-29707 Fixed --- .../core/script/GradleBuildSrcModuleDependencyProvider.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleBuildSrcModuleDependencyProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleBuildSrcModuleDependencyProvider.kt index e58b0071c55..bfb93cc29d4 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleBuildSrcModuleDependencyProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleBuildSrcModuleDependencyProvider.kt @@ -11,7 +11,6 @@ import com.intellij.openapi.module.ModuleManager import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.idea.core.script.dependencies.ScriptRelatedModulesProvider -import org.jetbrains.kotlin.idea.util.projectStructure.getModule import org.jetbrains.plugins.gradle.settings.GradleProjectSettings import org.jetbrains.plugins.gradle.util.GradleConstants @@ -23,11 +22,11 @@ class GradleBuildSrcModuleDependencyProvider : ScriptRelatedModulesProvider() { val includedModulesPath: List = projectSettings.compositeBuild?.compositeParticipants?.mapNotNull { part -> projectSettings.modules.find { it == part.rootPath } } ?: emptyList() + val includedModulesBuildSrcPaths = includedModulesPath.map { "$it/buildSrc" } - val moduleForScript = ExternalSystemApiUtil.getExternalProjectPath(file.getModule(project)) - val buildSrcProjectPath = "$moduleForScript/buildSrc" + val rootBuildSrcPath = "${projectSettings.externalProjectPath}/buildSrc" - return (includedModulesPath + buildSrcProjectPath).flatMap { path -> + return (includedModulesPath + includedModulesBuildSrcPaths + rootBuildSrcPath).flatMap { path -> ModuleManager.getInstance(project).modules.filter { ExternalSystemApiUtil.getExternalProjectPath(it) == path }