From 7b52b42f36fbc285e7b1cb1cd24321a7e6d2662e Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Thu, 3 Oct 2024 14:59:51 +0200 Subject: [PATCH] fix: Query Sync can now work with '.' in the directories section (#6834) --- .../com/google/idea/blaze/qsync/BlazeQueryParser.java | 9 +++++++-- .../google/idea/blaze/qsync/GraphToProjectConverter.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/querysync/java/com/google/idea/blaze/qsync/BlazeQueryParser.java b/querysync/java/com/google/idea/blaze/qsync/BlazeQueryParser.java index 1ffdd39bcee..66b6f68c342 100644 --- a/querysync/java/com/google/idea/blaze/qsync/BlazeQueryParser.java +++ b/querysync/java/com/google/idea/blaze/qsync/BlazeQueryParser.java @@ -37,6 +37,7 @@ import com.google.idea.blaze.qsync.query.Query.Rule; import com.google.idea.blaze.qsync.query.QuerySummary; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -97,8 +98,12 @@ public BuildGraphData parse() { for (Map.Entry sourceFileEntry : query.getSourceFilesMap().entrySet()) { Location l = new Location(sourceFileEntry.getValue().getLocation()); - if (l.file.endsWith(Path.of("BUILD"))) { - packages.add(l.file.getParent()); + if (l.file.endsWith(Path.of("BUILD")) || l.file.endsWith(Path.of("BUILD.bazel"))){ + if(l.file.getParent() == null){ + packages.add(Paths.get("")); + } else{ + packages.add(l.file.getParent()); + } } graphBuilder.locationsBuilder().put(sourceFileEntry.getKey(), l); graphBuilder.fileToTargetBuilder().put(l.file, sourceFileEntry.getKey()); diff --git a/querysync/java/com/google/idea/blaze/qsync/GraphToProjectConverter.java b/querysync/java/com/google/idea/blaze/qsync/GraphToProjectConverter.java index d666640f237..1e6ce71caf6 100644 --- a/querysync/java/com/google/idea/blaze/qsync/GraphToProjectConverter.java +++ b/querysync/java/com/google/idea/blaze/qsync/GraphToProjectConverter.java @@ -219,7 +219,7 @@ ImmutableMap> splitByRoot(Map pre ImmutableMap.Builder inRoot = ImmutableMap.builder(); for (Entry pkg : prefixes.entrySet()) { Path rel = pkg.getKey(); - if (rel.startsWith(root)) { + if (rel.startsWith(root) || root.toString().equals("")) { Path relToRoot = root.relativize(rel); inRoot.put(relToRoot, pkg.getValue()); }