aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
diff options
context:
space:
mode:
authorGravatar mjhalupka <mjhalupka@google.com>2018-03-29 11:20:31 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-29 11:22:19 -0700
commit1067310e18cb9ac203110726de0be53bdc403cea (patch)
tree277131e6a5793182ee88673fda700b5c02f5e560 /src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
parentc5a5880c4797a60ef123d6ba8b0db4f984ebf36d (diff)
Remove Target from TargetPatternPhaseValue. Use the sets of targets that would have been in TargetPatternPhaseValue to construct Postables that would use information from the TargetPatternPhaseValue.
Tag TargetPhasePatternValue with @AutoCodec. PiperOrigin-RevId: 190958515
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java42
1 files changed, 31 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
index ee6cddcb35..2e0c286c27 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
@@ -185,17 +185,37 @@ final class TargetPatternPhaseFunction implements SkyFunction {
ResolvedTargets<Target> expandedTargets = expandedTargetsBuilder.build();
Set<Target> testSuiteTargets =
Sets.difference(targets.getTargets(), expandedTargets.getTargets());
- TargetPatternPhaseValue result = new TargetPatternPhaseValue(
- expandedTargets.getTargets(), testsToRun, preExpansionError,
- expandedTargets.hasError() || workspaceError, filteredTargets, testFilteredTargets,
- ImmutableSet.copyOf(testSuiteTargets), workspaceName);
- env.getListener().post(
- new TargetParsingCompleteEvent(
- targets.getTargets(),
- result.getFilteredTargets(),
- result.getTestFilteredTargets(),
- options.getTargetPatterns(),
- result.getTargets()));
+ ImmutableSet<Label> targetLabels =
+ expandedTargets
+ .getTargets()
+ .stream()
+ .map(Target::getLabel)
+ .collect(ImmutableSet.toImmutableSet());
+ ImmutableSet<Label> testsToRunLabels = null;
+ if (testsToRun != null) {
+ testsToRunLabels =
+ testsToRun.stream().map(Target::getLabel).collect(ImmutableSet.toImmutableSet());
+ }
+ ImmutableSet<Label> removedTargetLabels =
+ testSuiteTargets.stream().map(Target::getLabel).collect(ImmutableSet.toImmutableSet());
+
+ TargetPatternPhaseValue result =
+ new TargetPatternPhaseValue(
+ targetLabels,
+ testsToRunLabels,
+ targets.hasError(),
+ expandedTargets.hasError() || workspaceError,
+ removedTargetLabels,
+ workspaceName);
+
+ env.getListener()
+ .post(
+ new TargetParsingCompleteEvent(
+ targets.getTargets(),
+ filteredTargets,
+ testFilteredTargets,
+ options.getTargetPatterns(),
+ expandedTargets.getTargets()));
return result;
}