aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-07-19 13:48:53 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-07-19 16:49:15 +0200
commitfbc3474575d0220e540db356a434ba22c52db907 (patch)
treee1a32b039b295d1c01e04225443f278c0dd7f51f /src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
parent58e9629b06269dc9b1ba340318ae71c5beee5077 (diff)
Remove TransitiveTargetValue.transitive{S,Uns}uccessfulPkgs
It was only used by GenQuery, for which we can use getTransitiveRootCauses() and getTransitiveTargets() instead. PiperOrigin-RevId: 162471592
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java43
1 files changed, 11 insertions, 32 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
index 23d22b41e7..3f8a001961 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
@@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment
import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactory;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.Event;
@@ -144,10 +143,6 @@ public class TransitiveTargetFunction
maybeReportErrorAboutMissingEdge(target, depLabel, e, eventHandler);
continue;
}
- builder.getTransitiveSuccessfulPkgs().addTransitive(
- transitiveTargetValue.getTransitiveSuccessfulPackages());
- builder.getTransitiveUnsuccessfulPkgs().addTransitive(
- transitiveTargetValue.getTransitiveUnsuccessfulPackages());
builder.getTransitiveTargets().addTransitive(transitiveTargetValue.getTransitiveTargets());
NestedSet<Label> rootCauses = transitiveTargetValue.getTransitiveRootCauses();
if (rootCauses != null) {
@@ -245,14 +240,15 @@ public class TransitiveTargetFunction
}
}
- private void addFragmentsIfNew(TransitiveTargetValueBuilder builder, Iterable<?> fragments) {
+ private void addFragmentsIfNew(
+ TransitiveTargetValueBuilder builder, Iterable<? extends Class<?>> fragments) {
// We take Iterable<?> instead of Iterable<Class<?>> or Iterable<Class<? extends Fragment>>
// because both of the latter are passed as actual parameters and there's no way to consistently
// cast to one of them. In actuality, all values are Class<? extends Fragment>, but the values
// coming from Attribute.java don't have access to the Fragment symbol since Attribute is built
// in a different library.
- for (Object fragment : fragments) {
- addFragmentIfNew(builder, (Class<? extends Fragment>) fragment);
+ for (Class<?> fragment : fragments) {
+ addFragmentIfNew(builder, fragment.asSubclass(Fragment.class));
}
}
@@ -327,8 +323,6 @@ public class TransitiveTargetFunction
*/
static class TransitiveTargetValueBuilder {
private boolean successfulTransitiveLoading;
- private final NestedSetBuilder<PackageIdentifier> transitiveSuccessfulPkgs;
- private final NestedSetBuilder<PackageIdentifier> transitiveUnsuccessfulPkgs;
private final NestedSetBuilder<Label> transitiveTargets;
private final NestedSetBuilder<Class<? extends Fragment>> transitiveConfigFragments;
private final Set<Class<? extends Fragment>> configFragmentsFromDeps;
@@ -336,8 +330,6 @@ public class TransitiveTargetFunction
public TransitiveTargetValueBuilder(Label label, Target target,
boolean packageLoadedSuccessfully) {
- this.transitiveSuccessfulPkgs = NestedSetBuilder.stableOrder();
- this.transitiveUnsuccessfulPkgs = NestedSetBuilder.stableOrder();
this.transitiveTargets = NestedSetBuilder.stableOrder();
this.transitiveConfigFragments = NestedSetBuilder.stableOrder();
// No need to store directly required fragments that are also required by deps.
@@ -345,24 +337,12 @@ public class TransitiveTargetFunction
this.transitiveRootCauses = NestedSetBuilder.stableOrder();
this.successfulTransitiveLoading = packageLoadedSuccessfully;
- PackageIdentifier packageId = target.getPackage().getPackageIdentifier();
- if (packageLoadedSuccessfully) {
- transitiveSuccessfulPkgs.add(packageId);
- } else {
+ if (!packageLoadedSuccessfully) {
transitiveRootCauses.add(label);
- transitiveUnsuccessfulPkgs.add(packageId);
}
transitiveTargets.add(target.getLabel());
}
- public NestedSetBuilder<PackageIdentifier> getTransitiveSuccessfulPkgs() {
- return transitiveSuccessfulPkgs;
- }
-
- public NestedSetBuilder<PackageIdentifier> getTransitiveUnsuccessfulPkgs() {
- return transitiveUnsuccessfulPkgs;
- }
-
public NestedSetBuilder<Label> getTransitiveTargets() {
return transitiveTargets;
}
@@ -388,16 +368,15 @@ public class TransitiveTargetFunction
}
public SkyValue build(@Nullable NoSuchTargetException errorLoadingTarget) {
- NestedSet<PackageIdentifier> successfullyLoadedPkgs = transitiveSuccessfulPkgs.build();
- NestedSet<PackageIdentifier> unsuccessfullyLoadedPkgs = transitiveUnsuccessfulPkgs.build();
NestedSet<Label> loadedTargets = transitiveTargets.build();
NestedSet<Class<? extends Fragment>> configFragments = transitiveConfigFragments.build();
return successfulTransitiveLoading
- ? TransitiveTargetValue.successfulTransitiveLoading(successfullyLoadedPkgs,
- unsuccessfullyLoadedPkgs, loadedTargets, configFragments)
- : TransitiveTargetValue.unsuccessfulTransitiveLoading(successfullyLoadedPkgs,
- unsuccessfullyLoadedPkgs, loadedTargets, transitiveRootCauses.build(),
- errorLoadingTarget, configFragments);
+ ? TransitiveTargetValue.successfulTransitiveLoading(loadedTargets, configFragments)
+ : TransitiveTargetValue.unsuccessfulTransitiveLoading(
+ loadedTargets,
+ transitiveRootCauses.build(),
+ errorLoadingTarget,
+ configFragments);
}
}
}