aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.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/TransitiveTargetValue.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/TransitiveTargetValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java50
1 files changed, 6 insertions, 44 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java
index e603ca371c..843c531b3d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java
@@ -15,7 +15,6 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
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.collect.nestedset.Order;
@@ -29,36 +28,28 @@ import com.google.devtools.build.skyframe.SkyValue;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import java.util.Set;
import javax.annotation.Nullable;
/**
* A <i>transitive</i> target reference that, when built in skyframe, loads the entire
* transitive closure of a target.
*
- * This will probably be unnecessary once other refactorings occur throughout the codebase
- * which make loading/analysis interleaving more feasible, or we will migrate "blaze query" to
- * use this to evaluate its Target graph.
+ * <p>Note that this class drops transitive targets during serialization!
*/
@Immutable
@ThreadSafe
public class TransitiveTargetValue implements SkyValue {
-
// Non-final for serialization purposes.
- private NestedSet<PackageIdentifier> transitiveSuccessfulPkgs;
- private NestedSet<PackageIdentifier> transitiveUnsuccessfulPkgs;
private NestedSet<Label> transitiveTargets;
@Nullable private NestedSet<Label> transitiveRootCauses;
@Nullable private NoSuchTargetException errorLoadingTarget;
private NestedSet<Class<? extends BuildConfiguration.Fragment>> transitiveConfigFragments;
- private TransitiveTargetValue(NestedSet<PackageIdentifier> transitiveSuccessfulPkgs,
- NestedSet<PackageIdentifier> transitiveUnsuccessfulPkgs, NestedSet<Label> transitiveTargets,
+ private TransitiveTargetValue(
+ NestedSet<Label> transitiveTargets,
@Nullable NestedSet<Label> transitiveRootCauses,
@Nullable NoSuchTargetException errorLoadingTarget,
NestedSet<Class<? extends BuildConfiguration.Fragment>> transitiveConfigFragments) {
- this.transitiveSuccessfulPkgs = transitiveSuccessfulPkgs;
- this.transitiveUnsuccessfulPkgs = transitiveUnsuccessfulPkgs;
this.transitiveTargets = transitiveTargets;
this.transitiveRootCauses = transitiveRootCauses;
this.errorLoadingTarget = errorLoadingTarget;
@@ -66,14 +57,6 @@ public class TransitiveTargetValue implements SkyValue {
}
private void writeObject(ObjectOutputStream out) throws IOException {
- // It helps to flatten the transitiveSuccessfulPkgs nested set as it has lots of duplicates.
- Set<PackageIdentifier> successfulPkgs = transitiveSuccessfulPkgs.toSet();
- out.writeInt(successfulPkgs.size());
- for (PackageIdentifier pkg : successfulPkgs) {
- out.writeObject(pkg);
- }
-
- out.writeObject(transitiveUnsuccessfulPkgs);
// Deliberately do not write out transitiveTargets. There is a lot of those and they drive
// serialization costs through the roof, both in terms of space and of time.
// TODO(bazel-team): Deal with this properly once we have efficient serialization of NestedSets.
@@ -84,13 +67,6 @@ public class TransitiveTargetValue implements SkyValue {
@SuppressWarnings("unchecked")
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
- int successfulPkgCount = in.readInt();
- NestedSetBuilder<PackageIdentifier> pkgs = NestedSetBuilder.stableOrder();
- for (int i = 0; i < successfulPkgCount; i++) {
- pkgs.add((PackageIdentifier) in.readObject());
- }
- transitiveSuccessfulPkgs = pkgs.build();
- transitiveUnsuccessfulPkgs = (NestedSet<PackageIdentifier>) in.readObject();
// TODO(bazel-team): Deal with transitiveTargets properly.
transitiveTargets = NestedSetBuilder.emptySet(Order.STABLE_ORDER);
transitiveRootCauses = (NestedSet<Label>) in.readObject();
@@ -100,21 +76,17 @@ public class TransitiveTargetValue implements SkyValue {
}
static TransitiveTargetValue unsuccessfulTransitiveLoading(
- NestedSet<PackageIdentifier> transitiveSuccessfulPkgs,
- NestedSet<PackageIdentifier> transitiveUnsuccessfulPkgs, NestedSet<Label> transitiveTargets,
+ NestedSet<Label> transitiveTargets,
NestedSet<Label> rootCauses, @Nullable NoSuchTargetException errorLoadingTarget,
NestedSet<Class<? extends BuildConfiguration.Fragment>> transitiveConfigFragments) {
- return new TransitiveTargetValue(transitiveSuccessfulPkgs, transitiveUnsuccessfulPkgs,
+ return new TransitiveTargetValue(
transitiveTargets, rootCauses, errorLoadingTarget, transitiveConfigFragments);
}
static TransitiveTargetValue successfulTransitiveLoading(
- NestedSet<PackageIdentifier> transitiveSuccessfulPkgs,
- NestedSet<PackageIdentifier> transitiveUnsuccessfulPkgs,
NestedSet<Label> transitiveTargets,
NestedSet<Class<? extends BuildConfiguration.Fragment>> transitiveConfigFragments) {
- return new TransitiveTargetValue(transitiveSuccessfulPkgs, transitiveUnsuccessfulPkgs,
- transitiveTargets, null, null, transitiveConfigFragments);
+ return new TransitiveTargetValue(transitiveTargets, null, null, transitiveConfigFragments);
}
/** Returns the error, if any, from loading the target. */
@@ -123,16 +95,6 @@ public class TransitiveTargetValue implements SkyValue {
return errorLoadingTarget;
}
- /** Returns the packages that were transitively successfully loaded. */
- public NestedSet<PackageIdentifier> getTransitiveSuccessfulPackages() {
- return transitiveSuccessfulPkgs;
- }
-
- /** Returns the packages that were transitively successfully loaded. */
- public NestedSet<PackageIdentifier> getTransitiveUnsuccessfulPackages() {
- return transitiveUnsuccessfulPkgs;
- }
-
/** Returns the targets that were transitively loaded. */
public NestedSet<Label> getTransitiveTargets() {
return transitiveTargets;