diff options
author | Klaus Aehlig <aehlig@google.com> | 2016-12-05 09:43:02 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-12-05 10:22:12 +0000 |
commit | 9a8331671416fab2f39981bcd6c1a4cc777ec83c (patch) | |
tree | 1117e5c7bbf47800869c45d9accbf3157a1838be /src/main/java/com/google/devtools/build | |
parent | aa60e7dc6b7ab6252e09d58359f4e9680a8ab334 (diff) |
Make build events correctly report target expansion
In particular, correctly report the expansion of a test
suite even if only requested to build (but not test).
--
Change-Id: Ia25305a4f5ed53118cbb1970a8055d156e8e50be
Reviewed-on: https://cr.bazel.build/7535
PiperOrigin-RevId: 141027655
MOS_MIGRATED_REVID=141027655
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetParsingCompleteEvent.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetParsingCompleteEvent.java index 8e0022a46a..82fbcf1638 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetParsingCompleteEvent.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetParsingCompleteEvent.java @@ -35,6 +35,7 @@ public class TargetParsingCompleteEvent implements BuildEvent { private final ImmutableSet<Target> targets; private final ImmutableSet<Target> filteredTargets; private final ImmutableSet<Target> testFilteredTargets; + private final ImmutableSet<Target> expandedTargets; private final long timeInMs; /** @@ -47,12 +48,14 @@ public class TargetParsingCompleteEvent implements BuildEvent { Collection<Target> filteredTargets, Collection<Target> testFilteredTargets, long timeInMs, - List<String> originalTargetPattern) { + List<String> originalTargetPattern, + Collection<Target> expandedTargets) { this.timeInMs = timeInMs; this.targets = ImmutableSet.copyOf(targets); this.filteredTargets = ImmutableSet.copyOf(filteredTargets); this.testFilteredTargets = ImmutableSet.copyOf(testFilteredTargets); this.originalTargetPattern = ImmutableList.copyOf(originalTargetPattern); + this.expandedTargets = ImmutableSet.copyOf(expandedTargets); } @VisibleForTesting @@ -62,7 +65,8 @@ public class TargetParsingCompleteEvent implements BuildEvent { ImmutableSet.<Target>of(), ImmutableSet.<Target>of(), 0, - ImmutableList.<String>of()); + ImmutableList.<String>of(), + targets); } /** @@ -107,7 +111,7 @@ public class TargetParsingCompleteEvent implements BuildEvent { @Override public Collection<BuildEventId> getChildrenEvents() { ImmutableList.Builder childrenBuilder = ImmutableList.builder(); - for (Target target : targets) { + for (Target target : expandedTargets) { // Test suits won't produce a target-complete event, so do not anounce their // completion as children. if (!TargetUtils.isTestSuiteRule(target)) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java b/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java index b94afd91f9..ee1eaf2c84 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java @@ -232,7 +232,8 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner { patternParsingValue.getFilteredTargets(), patternParsingValue.getTestFilteredTargets(), targetPatternEvalTime, - targetPatterns)); + targetPatterns, + patternParsingValue.getTargets())); if (callback != null) { callback.notifyTargets(patternParsingValue.getTargets()); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index 7e1a204e32..c9c5f837da 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -1882,7 +1882,8 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { patternParsingValue.getFilteredTargets(), patternParsingValue.getTestFilteredTargets(), time, - targetPatterns)); + targetPatterns, + patternParsingValue.getTargets())); if (callback != null) { callback.notifyTargets(patternParsingValue.getTargets()); } |