diff --git a/base/src/com/google/idea/blaze/base/model/primitives/WorkspaceRoot.java b/base/src/com/google/idea/blaze/base/model/primitives/WorkspaceRoot.java index aa53076cb5e..2fe960db465 100644 --- a/base/src/com/google/idea/blaze/base/model/primitives/WorkspaceRoot.java +++ b/base/src/com/google/idea/blaze/base/model/primitives/WorkspaceRoot.java @@ -46,12 +46,17 @@ public static WorkspaceRoot fromImportSettings(BlazeImportSettings blazeSettings /** * Tries to load the import settings for the given project and get the workspace root directory. *
- * Unlike {@link #fromProject}, it will silently return null if this is not a blaze project. + * Unlike {@link #fromProject}, it will silently return null if this is not a blaze project of if + * the project is not properly initialized (eg. in tests). */ @Nullable public static WorkspaceRoot fromProjectSafe(Project project) { - BlazeImportSettings importSettings = - BlazeImportSettingsManager.getInstance(project).getImportSettings(); + BlazeImportSettingsManager manager = BlazeImportSettingsManager.getInstance(project); + if (manager == null) { + return null; + } + + BlazeImportSettings importSettings = manager.getImportSettings(); return importSettings != null ? fromImportSettings(importSettings) : null; } diff --git a/base/src/com/google/idea/blaze/base/sync/projectview/ImportRoots.java b/base/src/com/google/idea/blaze/base/sync/projectview/ImportRoots.java index 993e861d1a6..592d42270d3 100644 --- a/base/src/com/google/idea/blaze/base/sync/projectview/ImportRoots.java +++ b/base/src/com/google/idea/blaze/base/sync/projectview/ImportRoots.java @@ -55,10 +55,20 @@ public final class ImportRoots { @Nullable public static ImportRoots forProjectSafe(Project project) { WorkspaceRoot root = WorkspaceRoot.fromProjectSafe(project); - ProjectViewSet projectViewSet = ProjectViewManager.getInstance(project).getProjectViewSet(); - if (root == null || projectViewSet == null) { + if (root == null) { return null; } + + ProjectViewManager manager = ProjectViewManager.getInstance(project); + if (manager == null) { + return null; + } + + ProjectViewSet projectViewSet = manager.getProjectViewSet(); + if (projectViewSet == null) { + return null; + } + return ImportRoots.builder(root, Blaze.getBuildSystemName(project)).add(projectViewSet).build(); }