From 7b1b50499de99c0e739ef9c0741d27d5d5744312 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Thu, 28 May 2020 12:10:44 +0300 Subject: [PATCH] GradleBuildRoot: add projects from settings Fir the cases when they are missed absent in imported data --- .../gradle/roots/GradleBuildRootsManager.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt index 06bad6871ba..03bfa3132fd 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt @@ -239,14 +239,21 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(), private fun tryLoadFromFsCache(settings: GradleProjectSettings) = tryCreateImportedRoot(settings.externalProjectPath) { - GradleBuildRootDataSerializer.read(it) + GradleBuildRootDataSerializer.read(it)?.let { data -> + addFromSettings(data, settings) + } } + private fun addFromSettings( + data: GradleBuildRootData, + settings: GradleProjectSettings + ) = data.copy(projectRoots = data.projectRoots.toSet() + settings.modules) + private fun createOtherLinkedRoot(settings: GradleProjectSettings): GradleBuildRoot.Linked { val supported = kotlinDslScriptsModelImportSupported(settings.resolveGradleVersion().version) return when { - supported -> GradleBuildRoot.New(this, settings) - else -> GradleBuildRoot.Legacy(this, settings) + supported -> GradleBuildRoot.New(settings) + else -> GradleBuildRoot.Legacy(settings) } }