GradleBuildRoot: add projects from settings

Fir the cases when they are missed absent in imported data
This commit is contained in:
Sergey Rostov
2020-05-28 12:10:44 +03:00
parent a3750b6419
commit 7b1b50499d
@@ -239,14 +239,21 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
private fun tryLoadFromFsCache(settings: GradleProjectSettings) = private fun tryLoadFromFsCache(settings: GradleProjectSettings) =
tryCreateImportedRoot(settings.externalProjectPath) { 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 { private fun createOtherLinkedRoot(settings: GradleProjectSettings): GradleBuildRoot.Linked {
val supported = kotlinDslScriptsModelImportSupported(settings.resolveGradleVersion().version) val supported = kotlinDslScriptsModelImportSupported(settings.resolveGradleVersion().version)
return when { return when {
supported -> GradleBuildRoot.New(this, settings) supported -> GradleBuildRoot.New(settings)
else -> GradleBuildRoot.Legacy(this, settings) else -> GradleBuildRoot.Legacy(settings)
} }
} }