aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/BUILD6
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerValue.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/Label.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionEnvironmentFunction.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionValue.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ArtifactSkyKey.java50
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java27
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java3
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/BUILD25
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/LegacySkyKey.java127
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SimpleCycleDetector.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SkyKey.java116
-rw-r--r--src/test/java/com/google/devtools/build/lib/BUILD6
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/BUILD2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/BUILD2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/CyclesReporterTest.java3
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/ErrorInfoTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/GraphTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/GraphTester.java6
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/InMemoryNodeEntryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/ReverseDepsUtilityTest.java30
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/SkyKeyTest.java6
91 files changed, 435 insertions, 267 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index 7d6d25836b..2e26cb38c3 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -592,6 +592,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/causes",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:extra_actions_base_java_proto",
"//src/main/protobuf:invocation_policy_java_proto",
@@ -650,6 +651,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/objc",
"//src/main/java/com/google/devtools/build/lib/rules/platform",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:crosstool_config_java_proto",
"//third_party:android_common_25_0_0",
@@ -690,7 +692,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/ssd",
"//src/main/java/com/google/devtools/build/lib/standalone",
"//src/main/java/com/google/devtools/build/lib/worker",
- "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//third_party:guava",
"//third_party:jsr305",
@@ -754,6 +756,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//third_party:aether",
"//third_party:apache_commons_compress",
@@ -1115,6 +1118,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/query2:query-engine",
"//src/main/java/com/google/devtools/build/lib/query2:query-output",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:build_java_proto",
"//src/main/protobuf:command_server_java_proto",
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java b/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java
index b8c105f7b5..9fdbe1ca8b 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictEx
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -210,7 +211,7 @@ public class ActionLookupValue implements SkyValue {
protected abstract SkyFunctionName getType();
protected SkyKey getSkyKeyInternal() {
- return SkyKey.create(getType(), this);
+ return LegacySkyKey.create(getType(), this);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/actions/BUILD b/src/main/java/com/google/devtools/build/lib/actions/BUILD
index ce36aeb13f..c38671b558 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/actions/BUILD
@@ -24,6 +24,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:build_event_stream_java_proto",
"//src/main/java/com/google/devtools/build/lib/causes",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:extra_actions_base_java_proto",
"//third_party:auto_value",
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerValue.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerValue.java
index dd5a3508a0..a4c7576d8a 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerValue.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerValue.java
@@ -17,12 +17,11 @@ package com.google.devtools.build.lib.bazel.repository;
import com.google.common.base.Objects;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
-import org.apache.maven.settings.Server;
-
import java.util.Arrays;
+import org.apache.maven.settings.Server;
/**
* A Maven repository's identifier.
@@ -37,7 +36,7 @@ public class MavenServerValue implements SkyValue {
public static SkyKey key(String serverName) {
Preconditions.checkNotNull(serverName);
- return SkyKey.create(MavenServerFunction.NAME, serverName);
+ return LegacySkyKey.create(MavenServerFunction.NAME, serverName);
}
public static MavenServerValue createFromUrl(String url) {
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/BUILD b/src/main/java/com/google/devtools/build/lib/cmdline/BUILD
index 06660e7213..5e3353cdce 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/BUILD
@@ -18,6 +18,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib:skylarkinterface",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib:vfs",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index ef62fc1be8..3767ed721b 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -29,6 +29,8 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.StringCanonicalizer;
import com.google.devtools.build.lib.util.StringUtilities;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.SkyFunctionName;
+import com.google.devtools.build.skyframe.SkyKey;
import java.io.IOException;
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
@@ -50,7 +52,7 @@ import javax.annotation.Nullable;
)
@Immutable
@ThreadSafe
-public final class Label implements Comparable<Label>, Serializable, SkylarkPrintableValue {
+public final class Label implements Comparable<Label>, Serializable, SkylarkPrintableValue, SkyKey {
public static final PathFragment EXTERNAL_PACKAGE_NAME = PathFragment.create("external");
public static final PathFragment EXTERNAL_PACKAGE_FILE_NAME = PathFragment.create("WORKSPACE");
public static final String DEFAULT_REPOSITORY_DIRECTORY = "__main__";
@@ -73,6 +75,8 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
PackageIdentifier.createInMainRepo(EXTERNAL_PACKAGE_NAME);
public static final PathFragment EXTERNAL_PATH_PREFIX = PathFragment.create("external");
+ public static final SkyFunctionName TRANSITIVE_TRAVERSAL =
+ SkyFunctionName.create("TRANSITIVE_TRAVERSAL");
private static final Interner<Label> LABEL_INTERNER = BlazeInterners.newWeakInterner();
@@ -511,6 +515,16 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
}
@Override
+ public SkyFunctionName functionName() {
+ return TRANSITIVE_TRAVERSAL;
+ }
+
+ @Override
+ public Label argument() {
+ return this;
+ }
+
+ @Override
public int hashCode() {
return hashCode;
}
diff --git a/src/main/java/com/google/devtools/build/lib/query2/BUILD b/src/main/java/com/google/devtools/build/lib/query2/BUILD
index ad8f2661e1..72fb496fbe 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/query2/BUILD
@@ -15,6 +15,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib:vfs",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
index c04746760e..631afcb002 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -68,8 +68,6 @@ import com.google.devtools.build.lib.query2.engine.FunctionExpression;
import com.google.devtools.build.lib.query2.engine.KeyExtractor;
import com.google.devtools.build.lib.query2.engine.MinDepthUniquifier;
import com.google.devtools.build.lib.query2.engine.OutputFormatterCallback;
-import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryTaskCallable;
-import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryTaskFuture;
import com.google.devtools.build.lib.query2.engine.QueryEvalResult;
import com.google.devtools.build.lib.query2.engine.QueryException;
import com.google.devtools.build.lib.query2.engine.QueryExpression;
@@ -906,7 +904,7 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
@Override
public Label apply(SkyKey skyKey) {
SkyFunctionName functionName = skyKey.functionName();
- if (!functionName.equals(SkyFunctions.TRANSITIVE_TRAVERSAL)) {
+ if (!functionName.equals(Label.TRANSITIVE_TRAVERSAL)) {
// Skip non-targets.
return null;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
index 197ade48e1..15011dc109 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
@@ -26,6 +26,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/rules/apple",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:crosstool_config_java_proto",
"//src/main/protobuf:extra_actions_base_java_proto",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java
index eb03db6a3f..90ee9326b7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupportValue.java
@@ -17,10 +17,10 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Objects;
/**
@@ -96,6 +96,6 @@ public class FdoSupportValue implements SkyValue {
}
public static SkyKey key(LipoMode lipoMode, Path fdoZip, PathFragment fdoInstrument) {
- return SkyKey.create(SKYFUNCTION, new Key(lipoMode, fdoZip, fdoInstrument));
+ return LegacySkyKey.create(SKYFUNCTION, new Key(lipoMode, fdoZip, fdoInstrument));
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
index 959cf58a75..f59b4ee139 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
@@ -21,6 +21,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/query2:query-engine",
"//src/main/java/com/google/devtools/build/lib/query2:query-output",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//third_party:guava",
"//third_party:jsr305",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
index a53c57ccdd..d044aafed3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
@@ -73,6 +73,7 @@ import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.ValueOrException;
@@ -96,7 +97,7 @@ public class GenQuery implements RuleConfiguredTargetFactory {
private static final QueryEnvironmentFactory QUERY_ENVIRONMENT_FACTORY =
new QueryEnvironmentFactory();
public static final Precomputed<ImmutableList<OutputFormatter>> QUERY_OUTPUT_FORMATTERS =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "query_output_formatters"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "query_output_formatters"));
@Override
@Nullable
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
index 1cafeb7e08..f95329ef5c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
@@ -32,6 +32,7 @@ import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
@@ -53,7 +54,7 @@ import javax.annotation.Nullable;
*/
public final class RepositoryDelegatorFunction implements SkyFunction {
public static final Precomputed<Map<RepositoryName, PathFragment>> REPOSITORY_OVERRIDES =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "repository_overrides"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "repository_overrides"));
// The marker file version is inject in the rule key digest so the rule key is always different
// when we decide to update the format.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java
index 4d073d5b1c..6e21ad5b70 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDirectoryValue.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.skyframe.DirectoryListingValue;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
import com.google.devtools.build.lib.vfs.Path;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.util.Arrays;
@@ -124,7 +125,7 @@ public abstract class RepositoryDirectoryValue implements SkyValue {
/** Creates a key from the given repository name. */
public static SkyKey key(RepositoryName repository) {
- return SkyKey.create(SkyFunctions.REPOSITORY_DIRECTORY, repository);
+ return LegacySkyKey.create(SkyFunctions.REPOSITORY_DIRECTORY, repository);
}
public static Builder builder() {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java
index fa425bc5b8..9fa3809f2b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java
@@ -17,6 +17,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -95,6 +96,6 @@ public abstract class ASTFileLookupValue implements SkyValue {
}
public static SkyKey key(Label astFileLabel) {
- return SkyKey.create(SkyFunctions.AST_FILE_LOOKUP, astFileLabel);
+ return LegacySkyKey.create(SkyFunctions.AST_FILE_LOOKUP, astFileLabel);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionEnvironmentFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionEnvironmentFunction.java
index ea4cde03df..efc6c9a84c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionEnvironmentFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionEnvironmentFunction.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -44,12 +45,12 @@ public final class ActionEnvironmentFunction implements SkyFunction {
if (actionEnv.containsKey(key) && actionEnv.get(key) != null) {
return new ClientEnvironmentValue(actionEnv.get(key));
}
- return env.getValue(SkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, key));
+ return env.getValue(LegacySkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, key));
}
/** @return the SkyKey to invoke this function for the environment variable {@code variable}. */
public static SkyKey key(String variable) {
- return SkyKey.create(SkyFunctions.ACTION_ENVIRONMENT_VARIABLE, variable);
+ return LegacySkyKey.create(SkyFunctions.ACTION_ENVIRONMENT_VARIABLE, variable);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
index 213ceecc91..1b4bb29503 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
@@ -43,6 +43,7 @@ import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyKey;
@@ -91,7 +92,7 @@ public class ActionExecutionFunction implements SkyFunction, CompletionReceiver
new Function<String, SkyKey>() {
@Override
public SkyKey apply(String var) {
- return SkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, var);
+ return LegacySkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, var);
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
index 3d71d1b8cd..080c1047f4 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.util.Map;
@@ -132,7 +133,8 @@ public class ActionExecutionValue implements SkyValue {
@ThreadSafe
@VisibleForTesting
public static SkyKey key(SkyKey lookupKey, int index) {
- return SkyKey.create(SkyFunctions.ACTION_EXECUTION, new ActionLookupData(lookupKey, index));
+ return LegacySkyKey.create(
+ SkyFunctions.ACTION_EXECUTION, new ActionLookupData(lookupKey, index));
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionValue.java
index 22e9b7f631..18f7aaa383 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionValue.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.analysis.actions.ActionTemplate;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -36,9 +37,8 @@ public final class ActionTemplateExpansionValue extends ActionLookupValue {
}
static SkyKey key(ActionTemplate<?> actionTemplate) {
- return SkyKey.create(
- SkyFunctions.ACTION_TEMPLATE_EXPANSION,
- createActionTemplateExpansionKey(actionTemplate));
+ return LegacySkyKey.create(
+ SkyFunctions.ACTION_TEMPLATE_EXPANSION, createActionTemplateExpansionKey(actionTemplate));
}
static ActionTemplateExpansionKey createActionTemplateExpansionKey(
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactSkyKey.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactSkyKey.java
index 4fa5d9537d..770fecc4e2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactSkyKey.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactSkyKey.java
@@ -15,11 +15,14 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;
+import com.google.common.collect.Interner;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.concurrent.BlazeInterners;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
import java.util.Collection;
@@ -36,12 +39,13 @@ import java.util.Collection;
@Immutable
@ThreadSafe
public final class ArtifactSkyKey {
+ private static final Interner<OwnedArtifact> INTERNER = BlazeInterners.newWeakInterner();
+
private ArtifactSkyKey() {}
@ThreadSafe
public static SkyKey key(Artifact artifact, boolean isMandatory) {
- return SkyKey.create(
- SkyFunctions.ARTIFACT,
+ return INTERNER.intern(
artifact.isSourceArtifact()
? new OwnedArtifact(artifact, isMandatory)
: new OwnedArtifact(artifact));
@@ -98,10 +102,16 @@ public final class ArtifactSkyKey {
* since outside of Skyframe it is quite crucial that Artifacts with different owners be able to
* compare equal.
*/
- static class OwnedArtifact {
+ static class OwnedArtifact implements SkyKey {
private final Artifact artifact;
// Always true for derived artifacts.
private final boolean isMandatory;
+ // TODO(janakr): we may want to remove this field in the future. The expensive hash computation
+ // is already cached one level down (in the Artifact), so the CPU overhead here may not be
+ // worth the memory. However, when running with +CompressedOops, this field is free, so we leave
+ // it. When running with -CompressedOops, we might be able to save memory by using polymorphism
+ // for isMandatory and dropping this field.
+ private int hashCode = 0;
/** Constructs an OwnedArtifact wrapper for a source artifact. */
private OwnedArtifact(Artifact sourceArtifact, boolean mandatory) {
@@ -124,7 +134,41 @@ public final class ArtifactSkyKey {
}
@Override
+ public SkyFunctionName functionName() {
+ return SkyFunctions.ARTIFACT;
+ }
+
+ @Override
+ public OwnedArtifact argument() {
+ return this;
+ }
+
+ @Override
public int hashCode() {
+ // We use the hash code caching strategy employed by java.lang.String. There are three subtle
+ // things going on here:
+ //
+ // (1) We use a value of 0 to indicate that the hash code hasn't been computed and cached yet.
+ // Yes, this means that if the hash code is really 0 then we will "recompute" it each time.
+ // But this isn't a problem in practice since a hash code of 0 should be rare.
+ //
+ // (2) Since we have no synchronization, multiple threads can race here thinking there are the
+ // first one to compute and cache the hash code.
+ //
+ // (3) Moreover, since 'hashCode' is non-volatile, the cached hash code value written from one
+ // thread may not be visible by another. Note that we probably don't need to worry about
+ // multiple inefficient reads of 'hashCode' on the same thread since it's non-volatile.
+ //
+ // All three of these issues are benign from a correctness perspective; in the end we have no
+ // overhead from synchronization, at the cost of potentially computing the hash code more than
+ // once.
+ if (hashCode == 0) {
+ hashCode = computeHashCode();
+ }
+ return hashCode;
+ }
+
+ private int computeHashCode() {
int initialHash = artifact.hashCode() + artifact.getArtifactOwner().hashCode();
return isMandatory ? initialHash : 47 * initialHash + 1;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java
index 45c17faf99..ea6c77468c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java
@@ -18,9 +18,9 @@ import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
import com.google.devtools.build.lib.skyframe.AspectValue.AspectKey;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Collection;
/**
@@ -44,7 +44,7 @@ public class AspectCompletionValue implements SkyValue {
new Function<AspectValue, SkyKey>() {
@Override
public SkyKey apply(AspectValue aspectValue) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.ASPECT_COMPLETION,
AspectCompletionKey.create(aspectValue.getKey(), ctx));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java
index b5c942015e..c6b8f32549 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -26,7 +27,7 @@ public class BlacklistedPackagePrefixesValue implements SkyValue {
private final ImmutableSet<PathFragment> patterns;
private static final SkyKey BLACKLIST_KEY =
- SkyKey.create(SkyFunctions.BLACKLISTED_PACKAGE_PREFIXES, "");
+ LegacySkyKey.create(SkyFunctions.BLACKLISTED_PACKAGE_PREFIXES, "");
public BlacklistedPackagePrefixesValue(ImmutableSet<PathFragment> exclusions) {
this.patterns = Preconditions.checkNotNull(exclusions);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
index 9bd14e8fe2..85b97de04d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
@@ -17,9 +17,9 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
import java.util.Set;
@@ -51,7 +51,8 @@ public class BuildConfigurationValue implements SkyValue {
@ThreadSafe
public static SkyKey key(Set<Class<? extends BuildConfiguration.Fragment>> fragments,
BuildOptions buildOptions) {
- return SkyKey.create(SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, true));
+ return LegacySkyKey.create(
+ SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, true));
}
/**
@@ -65,7 +66,8 @@ public class BuildConfigurationValue implements SkyValue {
public static SkyKey disabledActionsKey(
Set<Class<? extends BuildConfiguration.Fragment>> fragments,
BuildOptions buildOptions) {
- return SkyKey.create(SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, false));
+ return LegacySkyKey.create(
+ SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, false));
}
static final class Key implements Serializable {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java b/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java
index dfff25096b..3d29f8d980 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -33,7 +34,7 @@ class ChainUniquenessUtils {
*/
static SkyKey key(SkyFunctionName functionName, ImmutableList<? extends Object> chain) {
Preconditions.checkState(!chain.isEmpty());
- return SkyKey.create(functionName, canonicalize(chain));
+ return LegacySkyKey.create(functionName, canonicalize(chain));
}
private static ImmutableList<Object> canonicalize(ImmutableList<? extends Object> cycle) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java
index b4118e3fab..5f819e58ae 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.skyframe.RecursivePkgValue.RecursivePkgKey;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.util.Objects;
@@ -230,6 +231,6 @@ public abstract class CollectPackagesUnderDirectoryValue implements SkyValue {
}
static SkyKey key(RecursivePkgKey recursivePkgKey) {
- return SkyKey.create(SkyFunctions.COLLECT_PACKAGES_UNDER_DIRECTORY, recursivePkgKey);
+ return LegacySkyKey.create(SkyFunctions.COLLECT_PACKAGES_UNDER_DIRECTORY, recursivePkgKey);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java
index 4809ae1426..700d32226a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.auto.value.AutoValue;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -30,7 +31,7 @@ public class CollectTargetsInPackageValue implements SkyValue {
* comment for what callers should have done beforehand.
*/
static SkyKey key(PackageIdentifier packageId, FilteringPolicy filteringPolicy) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.COLLECT_TARGETS_IN_PACKAGE,
CollectTargetsInPackageKey.create(packageId, filteringPolicy));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java
index eb5f173c25..6d591f3b7e 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java
@@ -19,9 +19,9 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
@@ -44,7 +44,7 @@ public class ConfigurationCollectionValue implements SkyValue {
@ThreadSafe
public static SkyKey key(BuildOptions buildOptions, ImmutableSet<String> multiCpu) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.CONFIGURATION_COLLECTION,
new ConfigurationCollectionKey(buildOptions, multiCpu));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java
index 45740ddb3a..79686fbd87 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java
@@ -23,12 +23,11 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
-
import javax.annotation.Nullable;
/**
@@ -57,7 +56,7 @@ public class ConfigurationFragmentValue implements SkyValue {
BuildConfiguration.getOptionsClasses(
ImmutableList.<Class<? extends BuildConfiguration.Fragment>>of(fragmentType),
ruleClassProvider));
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.CONFIGURATION_FRAGMENT,
new ConfigurationFragmentKey(optionsKey, fragmentType));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java
index aee158ebb3..4e0b959674 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.pkgcache.PackageProvider;
import com.google.devtools.build.lib.skyframe.AspectValue.AspectKey;
import com.google.devtools.build.skyframe.CycleInfo;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
/**
@@ -94,7 +95,7 @@ class ConfiguredTargetCycleReporter extends AbstractLabelCycleReporter {
private SkyKey asTransitiveTargetKey(SkyKey key) {
return IS_TRANSITIVE_TARGET_SKY_KEY.apply(key)
? key
- : SkyKey.create(TRANSITIVE_TARGET, ((ConfiguredTargetKey) key.argument()).getLabel());
+ : LegacySkyKey.create(TRANSITIVE_TARGET, ((ConfiguredTargetKey) key.argument()).getLabel());
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
index 0405f63c24..b952a97575 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.Path;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -40,7 +41,7 @@ public abstract class ContainingPackageLookupValue implements SkyValue {
public static SkyKey key(PackageIdentifier id) {
Preconditions.checkArgument(!id.getPackageFragment().isAbsolute(), id);
Preconditions.checkArgument(!id.getRepository().isDefault(), id);
- return SkyKey.create(SkyFunctions.CONTAINING_PACKAGE_LOOKUP, id);
+ return LegacySkyKey.create(SkyFunctions.CONTAINING_PACKAGE_LOOKUP, id);
}
public static ContainingPackage withContainingPackage(PackageIdentifier pkgId, Path root) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
index 3d63fe04ad..3f9c8d84e4 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java
@@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.ArtifactOwner;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -28,7 +29,7 @@ public class CoverageReportValue extends ActionLookupValue {
// There should only ever be one CoverageReportValue value in the graph.
public static final ArtifactOwner ARTIFACT_OWNER = new CoverageReportKey();
- static final SkyKey SKY_KEY = SkyKey.create(SkyFunctions.COVERAGE_REPORT, ARTIFACT_OWNER);
+ static final SkyKey SKY_KEY = LegacySkyKey.create(SkyFunctions.COVERAGE_REPORT, ARTIFACT_OWNER);
CoverageReportValue(
ImmutableList<ActionAnalysisMetadata> coverageReportActions,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java
index 7664fd2117..2a10797305 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java
@@ -19,9 +19,9 @@ import com.google.devtools.build.lib.vfs.Dirent;
import com.google.devtools.build.lib.vfs.Dirent.Type;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.lib.vfs.Symlinks;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays;
@@ -30,7 +30,6 @@ import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Objects;
-
import javax.annotation.Nullable;
/**
@@ -57,7 +56,7 @@ public final class DirectoryListingStateValue implements SkyValue {
@ThreadSafe
public static SkyKey key(RootedPath rootedPath) {
- return SkyKey.create(SkyFunctions.DIRECTORY_LISTING_STATE, rootedPath);
+ return LegacySkyKey.create(SkyFunctions.DIRECTORY_LISTING_STATE, rootedPath);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java
index 3f61fe660e..d6fb7b484b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java
@@ -16,9 +16,9 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Objects;
/**
@@ -55,7 +55,7 @@ public abstract class DirectoryListingValue implements SkyValue {
*/
@ThreadSafe
public static SkyKey key(RootedPath directoryUnderRoot) {
- return SkyKey.create(SkyFunctions.DIRECTORY_LISTING, directoryUnderRoot);
+ return LegacySkyKey.create(SkyFunctions.DIRECTORY_LISTING, directoryUnderRoot);
}
static DirectoryListingValue value(RootedPath dirRootedPath, FileValue dirFileValue,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java
index 8a7bdd92d9..c21aa6c95a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -57,6 +58,6 @@ public class ExternalPackageFunction implements SkyFunction {
* Returns a SkyKey to find the WORKSPACE file at the given path.
*/
public static SkyKey key(RootedPath workspacePath) {
- return SkyKey.create(SkyFunctions.EXTERNAL_PACKAGE, workspacePath);
+ return LegacySkyKey.create(SkyFunctions.EXTERNAL_PACKAGE, workspacePath);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java
index 9206534613..e8c6379272 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java
@@ -24,13 +24,12 @@ import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.lib.vfs.Symlinks;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-
import javax.annotation.Nullable;
/**
@@ -103,7 +102,7 @@ public abstract class FileStateValue implements SkyValue {
@VisibleForTesting
@ThreadSafe
public static SkyKey key(RootedPath rootedPath) {
- return SkyKey.create(SkyFunctions.FILE_STATE, rootedPath);
+ return LegacySkyKey.create(SkyFunctions.FILE_STATE, rootedPath);
}
public abstract Type getType();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java
index 6b2bfa7216..3874674b23 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.skyframe.FileStateValue.Type;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.util.Objects;
@@ -115,7 +116,7 @@ public abstract class FileValue implements SkyValue {
*/
@ThreadSafe
public static SkyKey key(RootedPath rootedPath) {
- return SkyKey.create(SkyFunctions.FILE, rootedPath);
+ return LegacySkyKey.create(SkyFunctions.FILE, rootedPath);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
index d628da2bb8..38386e264d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.FilesetOutputSymlink;
import com.google.devtools.build.lib.actions.FilesetTraversalParams;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -44,7 +45,7 @@ public final class FilesetEntryValue implements SkyValue {
}
public static SkyKey key(FilesetTraversalParams params) {
- return SkyKey.create(SkyFunctions.FILESET_ENTRY, params);
+ return LegacySkyKey.create(SkyFunctions.FILESET_ENTRY, params);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java
index cd4dd85f34..67ff7b1979 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.UnixGlob;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -103,7 +104,7 @@ public final class GlobValue implements SkyValue {
@ThreadSafe
static SkyKey internalKey(PackageIdentifier packageId, Path packageRoot, PathFragment subdir,
String pattern, boolean excludeDirs) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.GLOB,
new GlobDescriptor(packageId, packageRoot, subdir, pattern, excludeDirs));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupValue.java
index 794dcc37d6..b2a0c548e1 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupValue.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -27,7 +28,7 @@ import com.google.devtools.build.skyframe.SkyValue;
public abstract class LocalRepositoryLookupValue implements SkyValue {
static SkyKey key(RootedPath directory) {
- return SkyKey.create(SkyFunctions.LOCAL_REPOSITORY_LOOKUP, directory);
+ return LegacySkyKey.create(SkyFunctions.LOCAL_REPOSITORY_LOOKUP, directory);
}
private static final LocalRepositoryLookupValue MAIN_REPO_VALUE = new MainRepositoryLookupValue();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java
index 17ba9bee28..b08329c487 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.packages.BuildFileNotFoundException;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
@@ -38,7 +39,7 @@ import javax.annotation.Nullable;
*/
public class PackageErrorFunction implements SkyFunction {
public static SkyKey key(PackageIdentifier packageIdentifier) {
- return SkyKey.create(SkyFunctions.PACKAGE_ERROR, packageIdentifier);
+ return LegacySkyKey.create(SkyFunctions.PACKAGE_ERROR, packageIdentifier);
}
@Nullable
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
index 79f6a41679..4bf711f336 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -156,7 +157,7 @@ public abstract class PackageLookupValue implements SkyValue {
public static SkyKey key(PackageIdentifier pkgIdentifier) {
Preconditions.checkArgument(!pkgIdentifier.getRepository().isDefault());
- return SkyKey.create(SkyFunctions.PACKAGE_LOOKUP, pkgIdentifier);
+ return LegacySkyKey.create(SkyFunctions.PACKAGE_LOOKUP, pkgIdentifier);
}
/** Successful lookup value. */
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java
index d637a7fecf..2e7fad2945 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java
@@ -19,9 +19,9 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.NotComparableSkyValue;
import com.google.devtools.build.skyframe.SkyKey;
-
import java.util.ArrayList;
import java.util.List;
@@ -55,7 +55,7 @@ public class PackageValue implements NotComparableSkyValue {
public static SkyKey key(PackageIdentifier pkgIdentifier) {
Preconditions.checkArgument(!pkgIdentifier.getRepository().isDefault());
- return SkyKey.create(SkyFunctions.PACKAGE, pkgIdentifier);
+ return LegacySkyKey.create(SkyFunctions.PACKAGE, pkgIdentifier);
}
public static List<SkyKey> keys(Iterable<PackageIdentifier> pkgIdentifiers) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java
index 4ef9ae33e6..5b80c1c9f6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -40,7 +41,7 @@ class PostConfiguredTargetValue implements SkyValue {
}
public static SkyKey key(ConfiguredTargetKey lac) {
- return SkyKey.create(SkyFunctions.POST_CONFIGURED_TARGET, lac);
+ return LegacySkyKey.create(SkyFunctions.POST_CONFIGURED_TARGET, lac);
}
public ConfiguredTarget getCt() {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
index d879c8f8b6..78c525f1e5 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.Injectable;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -77,44 +78,44 @@ public final class PrecomputedValue implements SkyValue {
}
public static final Precomputed<String> DEFAULTS_PACKAGE_CONTENTS =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "default_pkg"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "default_pkg"));
public static final Precomputed<PathFragment> BLACKLISTED_PACKAGE_PREFIXES_FILE =
new Precomputed<>(
- SkyKey.create(SkyFunctions.PRECOMPUTED, "blacklisted_package_prefixes_file"));
+ LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "blacklisted_package_prefixes_file"));
public static final Precomputed<RuleVisibility> DEFAULT_VISIBILITY =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "default_visibility"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "default_visibility"));
public static final Precomputed<SkylarkSemanticsOptions> SKYLARK_SEMANTICS =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "skylark_semantics"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "skylark_semantics"));
static final Precomputed<UUID> BUILD_ID =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "build_id"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "build_id"));
static final Precomputed<Map<String, String>> ACTION_ENV =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "action_env"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "action_env"));
static final Precomputed<WorkspaceStatusAction> WORKSPACE_STATUS_KEY =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "workspace_status_action"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "workspace_status_action"));
static final Precomputed<ImmutableList<ActionAnalysisMetadata>> COVERAGE_REPORT_KEY =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "coverage_report_actions"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "coverage_report_actions"));
public static final Precomputed<Map<BuildInfoKey, BuildInfoFactory>> BUILD_INFO_FACTORIES =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "build_info_factories"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "build_info_factories"));
public static final Precomputed<BlazeDirectories> BLAZE_DIRECTORIES =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "blaze_directories"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "blaze_directories"));
public static final Precomputed<String> PRODUCT_NAME =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "product_name"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "product_name"));
static final Precomputed<ImmutableMap<ActionAnalysisMetadata, ConflictException>> BAD_ACTIONS =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "bad_actions"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "bad_actions"));
public static final Precomputed<PathPackageLocator> PATH_PACKAGE_LOCATOR =
- new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "path_package_locator"));
+ new Precomputed<>(LegacySkyKey.create(SkyFunctions.PRECOMPUTED, "path_package_locator"));
private final Object value;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
index eb1754e9dd..79fd2fb9b2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
@@ -23,9 +23,9 @@ import com.google.devtools.build.lib.pkgcache.FilteringPolicies;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternSkyKeyOrException;
import com.google.devtools.build.lib.vfs.PathFragment;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.List;
/**
@@ -209,7 +209,7 @@ public class PrepareDepsOfPatternValue implements SkyValue {
@Override
public SkyKey getSkyKey() throws TargetParsingException {
- return SkyKey.create(SkyFunctions.PREPARE_DEPS_OF_PATTERN, targetPatternKey);
+ return LegacySkyKey.create(SkyFunctions.PREPARE_DEPS_OF_PATTERN, targetPatternKey);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java
index cbcd9717df..8a3a3c5391 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java
@@ -18,9 +18,9 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
@@ -55,7 +55,7 @@ public final class PrepareDepsOfPatternsValue implements SkyValue {
@ThreadSafe
public static SkyKey key(ImmutableList<String> patterns, String offset) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.PREPARE_DEPS_OF_PATTERNS, new TargetPatternSequence(patterns, offset));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
index c937263614..2c7e318f93 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
@@ -23,9 +23,9 @@ import com.google.devtools.build.lib.skyframe.RecursivePkgValue.RecursivePkgKey;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
@@ -61,7 +61,7 @@ public final class PrepareDepsOfTargetsUnderDirectoryValue implements SkyValue {
@ThreadSafe
public static SkyKey key(RepositoryName repository, RootedPath rootedPath,
ImmutableSet<PathFragment> excludedPaths, FilteringPolicy filteringPolicy) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.PREPARE_DEPS_OF_TARGETS_UNDER_DIRECTORY,
new PrepareDepsOfTargetsUnderDirectoryKey(
new RecursivePkgKey(repository, rootedPath, excludedPaths), filteringPolicy));
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
index 7f2777c379..c3d465e622 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
@@ -26,11 +26,10 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.regex.Pattern;
-
import javax.annotation.Nullable;
/**
@@ -105,7 +104,7 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
}
public static SkyKey key(TraversalRequest traversal) {
- return SkyKey.create(SkyFunctions.RECURSIVE_FILESYSTEM_TRAVERSAL, traversal);
+ return LegacySkyKey.create(SkyFunctions.RECURSIVE_FILESYSTEM_TRAVERSAL, traversal);
}
/** The parameters of a file or directory traversal. */
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
index 9bec1eeb25..2d3025b612 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
@@ -23,9 +23,9 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.Serializable;
import java.util.Objects;
@@ -58,7 +58,7 @@ public class RecursivePkgValue implements SkyValue {
@ThreadSafe
public static SkyKey key(RepositoryName repositoryName, RootedPath rootedPath,
ImmutableSet<PathFragment> excludedPaths) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.RECURSIVE_PKG, new RecursivePkgKey(repositoryName, rootedPath, excludedPaths));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java
index 575c2a2d86..a09d839654 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java
@@ -19,6 +19,7 @@ import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.rules.repository.RepositoryDirectoryValue;
import com.google.devtools.build.lib.vfs.Path;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -121,6 +122,6 @@ public abstract class RepositoryValue implements SkyValue {
}
public static SkyKey key(RepositoryName repositoryName) {
- return SkyKey.create(SkyFunctions.REPOSITORY, repositoryName);
+ return LegacySkyKey.create(SkyFunctions.REPOSITORY, repositoryName);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
index 264f549dda..86858d2d6f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
@@ -62,6 +62,7 @@ import com.google.devtools.build.skyframe.BuildDriver;
import com.google.devtools.build.skyframe.Differencer;
import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
import com.google.devtools.build.skyframe.Injectable;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.MemoizingEvaluator.EvaluatorSupplier;
import com.google.devtools.build.skyframe.NodeEntry;
import com.google.devtools.build.skyframe.RecordingDifferencer;
@@ -385,7 +386,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
envToCheck.addAll(clientEnv.get().keySet());
previousClientEnvironment = clientEnv.get().keySet();
for (String env : envToCheck) {
- SkyKey key = SkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, env);
+ SkyKey key = LegacySkyKey.create(SkyFunctions.CLIENT_ENVIRONMENT_VARIABLE, env);
if (values.containsKey(key)) {
String value = ((ClientEnvironmentValue) values.get(key)).getValue();
String newValue = clientEnv.get().get(env);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
index 05c78873b6..e0f8a845fc 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
@@ -67,8 +67,6 @@ public final class SkyFunctions {
public static final SkyFunctionName RECURSIVE_PKG = SkyFunctionName.create("RECURSIVE_PKG");
public static final SkyFunctionName TRANSITIVE_TARGET =
SkyFunctionName.create("TRANSITIVE_TARGET");
- public static final SkyFunctionName TRANSITIVE_TRAVERSAL =
- SkyFunctionName.create("TRANSITIVE_TRAVERSAL");
public static final SkyFunctionName CONFIGURED_TARGET =
SkyFunctionName.create("CONFIGURED_TARGET");
public static final SkyFunctionName POST_CONFIGURED_TARGET =
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 a2a85757bf..f058a4ec1f 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
@@ -400,7 +400,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
map.put(SkyFunctions.PACKAGE_ERROR, new PackageErrorFunction());
map.put(SkyFunctions.TARGET_MARKER, new TargetMarkerFunction());
map.put(SkyFunctions.TRANSITIVE_TARGET, new TransitiveTargetFunction(ruleClassProvider));
- map.put(SkyFunctions.TRANSITIVE_TRAVERSAL, new TransitiveTraversalFunction());
+ map.put(Label.TRANSITIVE_TRAVERSAL, new TransitiveTraversalFunction());
map.put(
SkyFunctions.CONFIGURED_TARGET,
new ConfiguredTargetFunction(
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java
index d97c034dfe..583e1558dc 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.io.Serializable;
@@ -98,7 +99,7 @@ public class SkylarkImportLookupValue implements SkyValue {
}
static SkyKey key(Label importLabel, boolean inWorkspace) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.SKYLARK_IMPORTS_LOOKUP, new SkylarkImportLookupKey(importLabel, inWorkspace));
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
index ef55b9f2e6..476f69da44 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
@@ -19,9 +19,9 @@ import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.LabelAndConfiguration;
import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Collection;
/**
@@ -41,7 +41,7 @@ public class TargetCompletionValue implements SkyValue {
public static SkyKey key(
LabelAndConfiguration labelAndConfiguration,
TopLevelArtifactContext topLevelArtifactContext) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TARGET_COMPLETION,
TargetCompletionKey.create(labelAndConfiguration, topLevelArtifactContext));
}
@@ -53,7 +53,7 @@ public class TargetCompletionValue implements SkyValue {
new Function<ConfiguredTarget, SkyKey>() {
@Override
public SkyKey apply(ConfiguredTarget ct) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TARGET_COMPLETION,
TargetCompletionKey.create(LabelAndConfiguration.of(ct), ctx));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java
index f1aa03dadc..c4419d4dce 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
@@ -47,6 +48,6 @@ public final class TargetMarkerValue implements SkyValue {
@ThreadSafe
public static SkyKey key(Label label) {
Preconditions.checkArgument(!label.getPackageIdentifier().getRepository().isDefault());
- return SkyKey.create(SkyFunctions.TARGET_MARKER, label);
+ return LegacySkyKey.create(SkyFunctions.TARGET_MARKER, label);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java
index 085eacdc31..187a94280f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.pkgcache.LoadingResult;
import com.google.devtools.build.lib.pkgcache.TestFilter;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.io.ObjectInputStream;
@@ -131,7 +132,7 @@ public final class TargetPatternPhaseValue implements SkyValue {
boolean compileOneDependency, boolean buildTestsOnly, boolean determineTests,
ImmutableList<String> buildTargetFilter,
boolean buildManualTests, @Nullable TestFilter testFilter) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TARGET_PATTERN_PHASE,
new TargetPatternList(
targetPatterns,
@@ -140,7 +141,8 @@ public final class TargetPatternPhaseValue implements SkyValue {
buildTestsOnly,
determineTests,
buildTargetFilter,
- buildManualTests, testFilter));
+ buildManualTests,
+ testFilter));
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java
index 22b400e80d..ce65642e65 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.InterruptibleSupplier;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.io.IOException;
@@ -146,7 +147,7 @@ public final class TargetPatternValue implements SkyValue {
!positive,
offset,
ImmutableSet.<PathFragment>of());
- SkyKey skyKey = SkyKey.create(SkyFunctions.TARGET_PATTERN, targetPatternKey);
+ SkyKey skyKey = LegacySkyKey.create(SkyFunctions.TARGET_PATTERN, targetPatternKey);
builder.add(new TargetPatternSkyKeyValue(skyKey));
}
return builder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java
index 01f5698eb0..68e09f22de 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java
@@ -19,9 +19,9 @@ import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.LabelAndConfiguration;
import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Collection;
/**
@@ -37,7 +37,7 @@ public class TestCompletionValue implements SkyValue {
LabelAndConfiguration lac,
final TopLevelArtifactContext topLevelArtifactContext,
final boolean exclusiveTesting) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TEST_COMPLETION,
TestCompletionKey.create(lac, topLevelArtifactContext, exclusiveTesting));
}
@@ -50,7 +50,7 @@ public class TestCompletionValue implements SkyValue {
new Function<ConfiguredTarget, SkyKey>() {
@Override
public SkyKey apply(ConfiguredTarget ct) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TEST_COMPLETION,
TestCompletionKey.create(
LabelAndConfiguration.of(ct), topLevelArtifactContext, exclusiveTesting));
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java
index a7a330f36d..9810b75333 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java
@@ -22,9 +22,9 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
@@ -70,7 +70,7 @@ public final class TestSuiteExpansionValue implements SkyValue {
*/
@ThreadSafe
public static SkyKey key(Collection<Label> targets) {
- return SkyKey.create(
+ return LegacySkyKey.create(
SkyFunctions.TEST_SUITE_EXPANSION,
new TestSuiteExpansion(ImmutableSortedSet.copyOf(targets)));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java
index 0267f4a2bc..d0ac8a4ac0 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java
@@ -20,9 +20,9 @@ import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.packages.TargetUtils;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
@@ -68,7 +68,8 @@ final class TestsInSuiteValue implements SkyValue {
@ThreadSafe
public static SkyKey key(Target testSuite, boolean strict) {
Preconditions.checkState(TargetUtils.isTestSuiteRule(testSuite));
- return SkyKey.create(SkyFunctions.TESTS_IN_SUITE, new TestsInSuite((Rule) testSuite, strict));
+ return LegacySkyKey.create(
+ SkyFunctions.TESTS_IN_SUITE, new TestsInSuite((Rule) testSuite, strict));
}
/**
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 6fb4fcf059..e603ca371c 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
@@ -23,14 +23,13 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
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;
/**
@@ -172,6 +171,6 @@ public class TransitiveTargetValue implements SkyValue {
@ThreadSafe
public static SkyKey key(Label label) {
Preconditions.checkArgument(!label.getPackageIdentifier().getRepository().isDefault());
- return SkyKey.create(SkyFunctions.TRANSITIVE_TARGET, label);
+ return LegacySkyKey.create(SkyFunctions.TRANSITIVE_TARGET, label);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
index ef400cf44d..afc26d3568 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java
@@ -143,7 +143,7 @@ public abstract class TransitiveTraversalValue implements SkyValue {
@ThreadSafe
public static SkyKey key(Label label) {
Preconditions.checkArgument(!label.getPackageIdentifier().getRepository().isDefault());
- return SkyKey.create(SkyFunctions.TRANSITIVE_TRAVERSAL, label);
+ return label;
}
/** A transitive target reference without error. */
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java
index e002765d73..9c18193f1f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java
@@ -17,9 +17,9 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.List;
/**
@@ -57,7 +57,7 @@ public class WorkspaceASTValue implements SkyValue {
}
public static SkyKey key(RootedPath path) {
- return SkyKey.create(SkyFunctions.WORKSPACE_AST, path);
+ return LegacySkyKey.create(SkyFunctions.WORKSPACE_AST, path);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java
index daf578ecf3..66bd5b2b2f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java
@@ -21,9 +21,9 @@ import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.RootedPath;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-
import java.util.Map;
import java.util.Objects;
@@ -135,7 +135,7 @@ public class WorkspaceFileValue implements SkyValue {
}
static SkyKey key(RootedPath path, int idx) {
- return SkyKey.create(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileKey(path, idx));
+ return LegacySkyKey.create(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileKey(path, idx));
}
public static SkyKey key(RootedPath path) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java
index c752d5829d..668c636b50 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameValue.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.skyframe;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
import java.util.Objects;
@@ -29,7 +30,7 @@ import javax.annotation.Nullable;
*/
public class WorkspaceNameValue implements SkyValue {
private static final SkyKey KEY =
- SkyKey.create(SkyFunctions.WORKSPACE_NAME, DummyArgument.INSTANCE);
+ LegacySkyKey.create(SkyFunctions.WORKSPACE_NAME, DummyArgument.INSTANCE);
private static final WorkspaceNameValue ERROR = new WorkspaceNameValue(null);
@Nullable
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
index d2758c5c2d..7ee1d936cf 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactOwner;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -32,7 +33,7 @@ public class WorkspaceStatusValue extends ActionLookupValue {
// There should only ever be one BuildInfo value in the graph.
static final ArtifactOwner ARTIFACT_OWNER = new BuildInfoKey();
- public static final SkyKey SKY_KEY = SkyKey.create(SkyFunctions.BUILD_INFO, ARTIFACT_OWNER);
+ public static final SkyKey SKY_KEY = LegacySkyKey.create(SkyFunctions.BUILD_INFO, ARTIFACT_OWNER);
WorkspaceStatusValue(
Artifact stableArtifact,
diff --git a/src/main/java/com/google/devtools/build/skyframe/BUILD b/src/main/java/com/google/devtools/build/skyframe/BUILD
index 51f41b46bd..55c35f8102 100644
--- a/src/main/java/com/google/devtools/build/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/skyframe/BUILD
@@ -4,10 +4,33 @@ package(
default_visibility = ["//src:__subpackages__"],
)
+SKYFRAME_OBJECT_SRCS = [
+ "SkyValue.java",
+ "SkyKey.java",
+ "LegacySkyKey.java",
+ "SkyFunctionName.java",
+]
+
+java_library(
+ name = "skyframe-objects",
+ srcs = SKYFRAME_OBJECT_SRCS,
+ visibility = ["//visibility:public"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:collect",
+ "//src/main/java/com/google/devtools/build/lib:concurrent",
+ "//src/main/java/com/google/devtools/build/lib:preconditions",
+ "//third_party:guava",
+ ],
+)
+
java_library(
name = "skyframe",
- srcs = glob(["**/*.java"]),
+ srcs = glob(
+ ["**/*.java"],
+ exclude = SKYFRAME_OBJECT_SRCS,
+ ),
deps = [
+ ":skyframe-objects",
"//src/main/java/com/google/devtools/build/lib:clock", # keep
"//src/main/java/com/google/devtools/build/lib:collect",
"//src/main/java/com/google/devtools/build/lib:concurrent",
diff --git a/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java b/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
index c0544dfbf5..46b99c2245 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ErrorTransienceValue.java
@@ -22,7 +22,7 @@ import java.io.ObjectOutputStream;
*/
public final class ErrorTransienceValue implements SkyValue {
public static final SkyFunctionName FUNCTION_NAME = SkyFunctionName.create("ERROR_TRANSIENCE");
- public static final SkyKey KEY = SkyKey.create(FUNCTION_NAME, "ERROR_TRANSIENCE");
+ public static final SkyKey KEY = LegacySkyKey.create(FUNCTION_NAME, "ERROR_TRANSIENCE");
public static final ErrorTransienceValue INSTANCE = new ErrorTransienceValue();
private ErrorTransienceValue() {}
diff --git a/src/main/java/com/google/devtools/build/skyframe/LegacySkyKey.java b/src/main/java/com/google/devtools/build/skyframe/LegacySkyKey.java
new file mode 100644
index 0000000000..637a0fc560
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/skyframe/LegacySkyKey.java
@@ -0,0 +1,127 @@
+// Copyright 2017 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.skyframe;
+
+import com.google.common.collect.Interner;
+import com.google.devtools.build.lib.concurrent.BlazeInterners;
+import com.google.devtools.build.lib.util.Preconditions;
+
+/**
+ * Basic implementation of {@link SkyKey}. Potentially non-optimal from a memory perspective, since
+ * it uses fields for hash code and {@link #functionName}. The latter should be implemented instead
+ * using polymorphism. See {@code ArtifactSkyKey} for an example.
+ */
+public class LegacySkyKey implements SkyKey {
+ private static final Interner<SkyKey> SKY_KEY_INTERNER = BlazeInterners.newWeakInterner();
+
+ /**
+ * Creates a {@link SkyKey}. Prefer instead creating custom SkyKeys that are their own arguments,
+ * saving the object wrapper. See {@code ArtifactSkyKey} for an example.
+ */
+ // TODO(janakr): migrate users of this to use custom SkyKey subclasses and delete this.
+ @Deprecated
+ public static SkyKey create(SkyFunctionName functionName, Object argument) {
+ // Intern to save memory.
+ return SKY_KEY_INTERNER.intern(new LegacySkyKey(functionName, argument));
+ }
+
+ private final SkyFunctionName functionName;
+
+ /**
+ * The name of the value.
+ *
+ * <p>This is deliberately an untyped Object so that we can use arbitrary value types (e.g.,
+ * Labels, PathFragments, BuildConfigurations, etc.) as value names without incurring
+ * serialization costs in the in-memory implementation of the graph.
+ */
+ private final Object argument;
+
+ /**
+ * Cache the hash code for this object. It might be expensive to compute. It is transient because
+ * argument's hash code might not be stable across JVM instances.
+ */
+ private transient int hashCode;
+
+ private LegacySkyKey(SkyFunctionName functionName, Object argument) {
+ this.functionName = Preconditions.checkNotNull(functionName);
+ this.argument = Preconditions.checkNotNull(argument);
+ // 'hashCode' is non-volatile and non-final, so this write may in fact *not* be visible to other
+ // threads. But this isn't a concern from a correctness perspective. See the comments in
+ // #hashCode for more details.
+ this.hashCode = computeHashCode();
+ }
+
+ @Override
+ public SkyFunctionName functionName() {
+ return functionName;
+ }
+
+ @Override
+ public Object argument() {
+ return argument;
+ }
+
+ @Override
+ public String toString() {
+ return functionName + ":" + argument;
+ }
+
+ @Override
+ public int hashCode() {
+ // We use the hash code caching strategy employed by java.lang.String. There are three subtle
+ // things going on here:
+ //
+ // (1) We use a value of 0 to indicate that the hash code hasn't been computed and cached yet.
+ // Yes, this means that if the hash code is really 0 then we will "recompute" it each time. But
+ // this isn't a problem in practice since a hash code of 0 should be rare.
+ //
+ // (2) Since we have no synchronization, multiple threads can race here thinking there are the
+ // first one to compute and cache the hash code.
+ //
+ // (3) Moreover, since 'hashCode' is non-volatile, the cached hash code value written from one
+ // thread may not be visible by another.
+ //
+ // All three of these issues are benign from a correctness perspective; in the end we have no
+ // overhead from synchronization, at the cost of potentially computing the hash code more than
+ // once.
+ int h = hashCode;
+ if (h == 0) {
+ h = computeHashCode();
+ hashCode = h;
+ }
+ return h;
+ }
+
+ private int computeHashCode() {
+ return 31 * functionName.hashCode() + argument.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ LegacySkyKey other = (LegacySkyKey) obj;
+ if (hashCode() != other.hashCode()) {
+ return false;
+ }
+ return functionName.equals(other.functionName) && argument.equals(other.argument);
+ }
+}
diff --git a/src/main/java/com/google/devtools/build/skyframe/SimpleCycleDetector.java b/src/main/java/com/google/devtools/build/skyframe/SimpleCycleDetector.java
index 59fbc077e5..2adbbc54ed 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SimpleCycleDetector.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SimpleCycleDetector.java
@@ -78,7 +78,7 @@ class SimpleCycleDetector implements CycleDetector {
* ArrayDeque does not permit null elements.
*/
private static final SkyKey CHILDREN_FINISHED =
- SkyKey.create(SkyFunctionName.create("MARKER"), "MARKER");
+ LegacySkyKey.create(SkyFunctionName.create("MARKER"), "MARKER");
/** The max number of cycles we will report to the user for a given root, to avoid OOMing. */
private static final int MAX_CYCLES = 20;
diff --git a/src/main/java/com/google/devtools/build/skyframe/SkyKey.java b/src/main/java/com/google/devtools/build/skyframe/SkyKey.java
index 0af8b82250..2428f9cf80 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SkyKey.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SkyKey.java
@@ -13,115 +13,21 @@
// limitations under the License.
package com.google.devtools.build.skyframe;
-import com.google.common.base.Function;
-import com.google.common.collect.Interner;
-import com.google.devtools.build.lib.concurrent.BlazeInterners;
-import com.google.devtools.build.lib.util.Preconditions;
-
import java.io.Serializable;
/**
* A {@link SkyKey} is effectively a pair (type, name) that identifies a Skyframe value.
+ *
+ * <p>SkyKey implementations are heavily used as map keys. Thus, they should have fast {@link
+ * #hashCode} implementations (cached if necessary). The same SkyKey may be created multiple times
+ * by different {@code SkyFunction}s requesting it, and so it should have effective interning. There
+ * will likely be more SkyKeys on the JVM heap than any other non-native type, so be mindful of
+ * memory usage (in particular object wrapper size and memory alignment)! Typically the
+ * implementation should have a fixed {@link #functionName} implementation and return itself as the
+ * {@link #argument} in order to reduce the cost of wrapper objects.
*/
-public final class SkyKey implements Serializable {
- private static final Interner<SkyKey> SKY_KEY_INTERNER = BlazeInterners.newWeakInterner();
-
- private final SkyFunctionName functionName;
-
- /**
- * The name of the value.
- *
- * <p>This is deliberately an untyped Object so that we can use arbitrary value types (e.g.,
- * Labels, PathFragments, BuildConfigurations, etc.) as value names without incurring
- * serialization costs in the in-memory implementation of the graph.
- */
- private final Object argument;
-
- /**
- * Cache the hash code for this object. It might be expensive to compute. It is transient because
- * argument's hash code might not be stable across JVM instances.
- */
- private transient int hashCode;
-
- private SkyKey(SkyFunctionName functionName, Object argument) {
- this.functionName = Preconditions.checkNotNull(functionName);
- this.argument = Preconditions.checkNotNull(argument);
- // 'hashCode' is non-volatile and non-final, so this write may in fact *not* be visible to other
- // threads. But this isn't a concern from a correctness perspective. See the comments in
- // #hashCode for more details.
- this.hashCode = computeHashCode();
- }
-
- public static SkyKey create(SkyFunctionName functionName, Object argument) {
- // Intern to save memory.
- return SKY_KEY_INTERNER.intern(new SkyKey(functionName, argument));
- }
-
- public SkyFunctionName functionName() {
- return functionName;
- }
-
- public Object argument() {
- return argument;
- }
-
- @Override
- public String toString() {
- return functionName + ":" + argument;
- }
-
- @Override
- public int hashCode() {
- // We use the hash code caching strategy employed by java.lang.String. There are three subtle
- // things going on here:
- //
- // (1) We use a value of 0 to indicate that the hash code hasn't been computed and cached yet.
- // Yes, this means that if the hash code is really 0 then we will "recompute" it each time. But
- // this isn't a problem in practice since a hash code of 0 should be rare.
- //
- // (2) Since we have no synchronization, multiple threads can race here thinking there are the
- // first one to compute and cache the hash code.
- //
- // (3) Moreover, since 'hashCode' is non-volatile, the cached hash code value written from one
- // thread may not be visible by another.
- //
- // All three of these issues are benign from a correctness perspective; in the end we have no
- // overhead from synchronization, at the cost of potentially computing the hash code more than
- // once.
- int h = hashCode;
- if (h == 0) {
- h = computeHashCode();
- hashCode = h;
- }
- return h;
- }
-
- private int computeHashCode() {
- return 31 * functionName.hashCode() + argument.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- SkyKey other = (SkyKey) obj;
- if (hashCode() != other.hashCode()) {
- return false;
- }
- return functionName.equals(other.functionName) && argument.equals(other.argument);
- }
+public interface SkyKey extends Serializable {
+ SkyFunctionName functionName();
- public static final Function<SkyKey, Object> NODE_NAME = new Function<SkyKey, Object>() {
- @Override
- public Object apply(SkyKey input) {
- return input.argument();
- }
- };
+ Object argument();
}
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 3b92f212de..302276a94f 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -272,6 +272,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib:vfs",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//third_party:guava",
"//third_party:guava-testlib",
@@ -365,6 +366,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/genquery",
"//src/main/java/com/google/devtools/build/lib/rules/objc",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:extra_actions_base_java_proto",
"//src/test/java/com/google/devtools/build/lib/skyframe:testutil",
@@ -536,6 +538,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib/skyframe:testutil",
"//third_party:auto_value",
"//third_party:guava",
@@ -593,6 +596,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:build_java_proto",
"//src/main/protobuf:crosstool_config_java_proto",
@@ -634,6 +638,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib:vfs",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/protobuf:build_java_proto",
"//third_party:guava",
"//third_party:guava-testlib",
@@ -663,6 +668,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib:io",
"//src/main/java/com/google/devtools/build/lib:packages",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:testutil",
"//third_party:guava",
"//third_party:jsr305",
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
index d3c387dbec..da28b50f64 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
@@ -29,6 +29,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/test/java/com/google/devtools/build/lib:analysis_testutil",
"//src/test/java/com/google/devtools/build/lib:foundations_testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
index 8d94ddba6c..7750bb23a5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
@@ -30,6 +30,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:actions_testutil",
"//src/test/java/com/google/devtools/build/lib:analysis_testutil",
"//src/test/java/com/google/devtools/build/lib:packages_testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java
index 36320171b9..491ecc14d1 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java
@@ -34,6 +34,7 @@ import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem;
import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.MemoizingEvaluator;
import com.google.devtools.build.skyframe.RecordingDifferencer;
import com.google.devtools.build.skyframe.SequentialBuildDriver;
@@ -51,7 +52,7 @@ import org.junit.Before;
abstract class ArtifactFunctionTestCase {
static final ActionLookupKey ALL_OWNER = new SingletonActionLookupKey();
- static final SkyKey OWNER_KEY = SkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER);
+ static final SkyKey OWNER_KEY = LegacySkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER);
protected Predicate<PathFragment> allowedMissingInputsPredicate = Predicates.alwaysFalse();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
index 022d46ef00..8c5e58559e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -26,6 +26,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:actions_testutil",
"//src/test/java/com/google/devtools/build/lib:foundations_testutil",
"//src/test/java/com/google/devtools/build/lib:packages_testutil",
@@ -70,6 +71,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:actions_testutil",
"//src/test/java/com/google/devtools/build/lib:analysis_testutil",
"//src/test/java/com/google/devtools/build/lib:foundations_testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
index 0f7a4c69dd..fa102db528 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
@@ -46,6 +46,7 @@ import com.google.devtools.build.lib.testutil.Suite;
import com.google.devtools.build.lib.testutil.TestSpec;
import com.google.devtools.build.lib.util.OrderedSetMultimap;
import com.google.devtools.build.skyframe.EvaluationResult;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -98,7 +99,7 @@ public class ConfigurationsForTargetsTest extends AnalysisTestCase {
* Returns a {@link SkyKey} for a given <Target, BuildConfiguration> pair.
*/
static SkyKey key(Target target, BuildConfiguration config) {
- return SkyKey.create(SKYFUNCTION_NAME, new TargetAndConfiguration(target, config));
+ return LegacySkyKey.create(SKYFUNCTION_NAME, new TargetAndConfiguration(target, config));
}
/**
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
index f8253903d4..830b91c786 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
@@ -54,7 +54,6 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
import com.google.devtools.build.lib.vfs.FileStatus;
import com.google.devtools.build.lib.vfs.FileSystem;
-import com.google.devtools.build.lib.vfs.FileSystem.HashFunction;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -761,7 +760,12 @@ public class FileFunctionTest {
Iterables.filter(
graph.getValues().keySet(),
SkyFunctionName.functionIs(SkyFunctions.FILE_STATE)),
- SkyKey.NODE_NAME));
+ new Function<SkyKey, Object>() {
+ @Override
+ public Object apply(SkyKey skyKey) {
+ return skyKey.argument();
+ }
+ }));
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 4b6b7002f5..901fa9ffe9 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -76,6 +76,7 @@ import com.google.devtools.build.skyframe.ErrorInfo;
import com.google.devtools.build.skyframe.EvaluationProgressReceiver;
import com.google.devtools.build.skyframe.EvaluationResult;
import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
+import com.google.devtools.build.skyframe.LegacySkyKey;
import com.google.devtools.build.skyframe.RecordingDifferencer;
import com.google.devtools.build.skyframe.SequentialBuildDriver;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -104,7 +105,8 @@ import org.junit.Before;
public abstract class TimestampBuilderTestCase extends FoundationTestCase {
protected static final ActionLookupValue.ActionLookupKey ALL_OWNER =
new SingletonActionLookupKey();
- protected static final SkyKey OWNER_KEY = SkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER);
+ protected static final SkyKey OWNER_KEY =
+ LegacySkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER);
protected static final Predicate<Action> ALWAYS_EXECUTE_FILTER = Predicates.alwaysTrue();
protected static final String CYCLE_MSG = "Yarrrr, there be a cycle up in here";
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/BUILD b/src/test/java/com/google/devtools/build/lib/skylark/BUILD
index 85c00a305c..0cd4824961 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/skylark/BUILD
@@ -56,6 +56,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:actions_testutil",
"//src/test/java/com/google/devtools/build/lib:analysis_testutil",
"//src/test/java/com/google/devtools/build/lib:foundations_testutil",
diff --git a/src/test/java/com/google/devtools/build/skyframe/BUILD b/src/test/java/com/google/devtools/build/skyframe/BUILD
index 496678ae8b..6d65934f7b 100644
--- a/src/test/java/com/google/devtools/build/skyframe/BUILD
+++ b/src/test/java/com/google/devtools/build/skyframe/BUILD
@@ -26,6 +26,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib:events",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:testutil",
"//third_party:guava",
"//third_party:guava-testlib",
@@ -48,6 +49,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib:events",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:testutil",
"//third_party:guava",
"//third_party:guava-testlib",
diff --git a/src/test/java/com/google/devtools/build/skyframe/CyclesReporterTest.java b/src/test/java/com/google/devtools/build/skyframe/CyclesReporterTest.java
index e009493a57..06dd49b97c 100644
--- a/src/test/java/com/google/devtools/build/skyframe/CyclesReporterTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/CyclesReporterTest.java
@@ -27,7 +27,8 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class CyclesReporterTest {
- private static final SkyKey DUMMY_KEY = SkyKey.create(SkyFunctionName.create("func"), "key");
+ private static final SkyKey DUMMY_KEY =
+ LegacySkyKey.create(SkyFunctionName.create("func"), "key");
@Test
public void nullEventHandler() {
diff --git a/src/test/java/com/google/devtools/build/skyframe/ErrorInfoTest.java b/src/test/java/com/google/devtools/build/skyframe/ErrorInfoTest.java
index 4b04614e12..e88d73ebee 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ErrorInfoTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ErrorInfoTest.java
@@ -20,13 +20,11 @@ import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.skyframe.SkyFunctionException.ReifiedSkyFunctionException;
-
+import java.io.IOException;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import java.io.IOException;
-
/** Tests for the non-trivial creation logic of {@link ErrorInfo}. */
@RunWith(JUnit4.class)
public class ErrorInfoTest {
@@ -49,7 +47,7 @@ public class ErrorInfoTest {
private void runTestFromException(boolean isDirectlyTransient, boolean isTransitivelyTransient) {
Exception exception = new IOException("ehhhhh");
- SkyKey causeOfException = SkyKey.create(SkyFunctionName.create("CAUSE"), 1234);
+ SkyKey causeOfException = LegacySkyKey.create(SkyFunctionName.create("CAUSE"), 1234);
DummySkyFunctionException dummyException =
new DummySkyFunctionException(exception, isDirectlyTransient, /*isCatastrophic=*/ false);
@@ -89,8 +87,8 @@ public class ErrorInfoTest {
public void testFromCycle() {
CycleInfo cycle =
new CycleInfo(
- ImmutableList.of(SkyKey.create(SkyFunctionName.create("PATH"), 1234)),
- ImmutableList.of(SkyKey.create(SkyFunctionName.create("CYCLE"), 4321)));
+ ImmutableList.of(LegacySkyKey.create(SkyFunctionName.create("PATH"), 1234)),
+ ImmutableList.of(LegacySkyKey.create(SkyFunctionName.create("CYCLE"), 4321)));
ErrorInfo errorInfo = ErrorInfo.fromCycle(cycle);
@@ -105,12 +103,12 @@ public class ErrorInfoTest {
public void testFromChildErrors() {
CycleInfo cycle =
new CycleInfo(
- ImmutableList.of(SkyKey.create(SkyFunctionName.create("PATH"), 1234)),
- ImmutableList.of(SkyKey.create(SkyFunctionName.create("CYCLE"), 4321)));
+ ImmutableList.of(LegacySkyKey.create(SkyFunctionName.create("PATH"), 1234)),
+ ImmutableList.of(LegacySkyKey.create(SkyFunctionName.create("CYCLE"), 4321)));
ErrorInfo cycleErrorInfo = ErrorInfo.fromCycle(cycle);
Exception exception1 = new IOException("ehhhhh");
- SkyKey causeOfException1 = SkyKey.create(SkyFunctionName.create("CAUSE1"), 1234);
+ SkyKey causeOfException1 = LegacySkyKey.create(SkyFunctionName.create("CAUSE1"), 1234);
DummySkyFunctionException dummyException1 =
new DummySkyFunctionException(exception1, /*isTransient=*/ true, /*isCatastrophic=*/ false);
ErrorInfo exceptionErrorInfo1 = ErrorInfo.fromException(
@@ -119,14 +117,14 @@ public class ErrorInfoTest {
// N.B this ErrorInfo will be catastrophic.
Exception exception2 = new IOException("blahhhhh");
- SkyKey causeOfException2 = SkyKey.create(SkyFunctionName.create("CAUSE2"), 5678);
+ SkyKey causeOfException2 = LegacySkyKey.create(SkyFunctionName.create("CAUSE2"), 5678);
DummySkyFunctionException dummyException2 =
new DummySkyFunctionException(exception2, /*isTransient=*/ false, /*isCatastrophic=*/ true);
ErrorInfo exceptionErrorInfo2 = ErrorInfo.fromException(
new ReifiedSkyFunctionException(dummyException2, causeOfException2),
/*isTransitivelyTransient=*/ false);
- SkyKey currentKey = SkyKey.create(SkyFunctionName.create("CURRENT"), 9876);
+ SkyKey currentKey = LegacySkyKey.create(SkyFunctionName.create("CURRENT"), 9876);
ErrorInfo errorInfo = ErrorInfo.fromChildErrors(
currentKey, ImmutableList.of(cycleErrorInfo, exceptionErrorInfo1, exceptionErrorInfo2));
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTest.java b/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
index 932878fbe2..84016d7953 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
@@ -71,7 +71,7 @@ public abstract class GraphTest {
}
protected SkyKey key(String name) {
- return SkyKey.create(SKY_FUNCTION_NAME, name);
+ return LegacySkyKey.create(SKY_FUNCTION_NAME, name);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
index a5eb7177b9..f643783b29 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
@@ -23,13 +23,11 @@ import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
-
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
-
import javax.annotation.Nullable;
/**
@@ -158,7 +156,7 @@ public class GraphTester {
}
public static SkyKey skyKey(String key) {
- return SkyKey.create(NODE_TYPE, key);
+ return LegacySkyKey.create(NODE_TYPE, key);
}
/**
@@ -266,7 +264,7 @@ public class GraphTester {
public static SkyKey[] toSkyKeys(String... names) {
SkyKey[] result = new SkyKey[names.length];
for (int i = 0; i < names.length; i++) {
- result[i] = SkyKey.create(GraphTester.NODE_TYPE, names[i]);
+ result[i] = LegacySkyKey.create(GraphTester.NODE_TYPE, names[i]);
}
return result;
}
diff --git a/src/test/java/com/google/devtools/build/skyframe/InMemoryNodeEntryTest.java b/src/test/java/com/google/devtools/build/skyframe/InMemoryNodeEntryTest.java
index 5829329452..37f3ba9f5f 100644
--- a/src/test/java/com/google/devtools/build/skyframe/InMemoryNodeEntryTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/InMemoryNodeEntryTest.java
@@ -51,7 +51,7 @@ public class InMemoryNodeEntryTest {
NestedSetBuilder.<TaggedEvents>emptySet(Order.STABLE_ORDER);
private static SkyKey key(String name) {
- return SkyKey.create(NODE_TYPE, name);
+ return LegacySkyKey.create(NODE_TYPE, name);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
index 461047d6d5..c8d121b4c0 100644
--- a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
@@ -143,7 +143,7 @@ public class MemoizingEvaluatorTest {
}
private static SkyKey toSkyKey(String name) {
- return SkyKey.create(NODE_TYPE, name);
+ return LegacySkyKey.create(NODE_TYPE, name);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
index 2097852053..0db63baa6a 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
@@ -1485,7 +1485,7 @@ public class ParallelEvaluatorTest {
class ParentFunction implements SkyFunction {
@Override
public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException {
- SkyValue dep = env.getValue(SkyKey.create(childType, "billy the kid"));
+ SkyValue dep = env.getValue(LegacySkyKey.create(childType, "billy the kid"));
if (dep == null) {
return null;
}
@@ -1501,7 +1501,7 @@ public class ParallelEvaluatorTest {
ParallelEvaluator evaluator = makeEvaluator(new InMemoryGraphImpl(), skyFunctions, false);
try {
- evaluator.eval(ImmutableList.of(SkyKey.create(parentType, "octodad")));
+ evaluator.eval(ImmutableList.of(LegacySkyKey.create(parentType, "octodad")));
fail();
} catch (RuntimeException e) {
assertEquals("I WANT A PONY!!!", e.getCause().getMessage());
diff --git a/src/test/java/com/google/devtools/build/skyframe/ReverseDepsUtilityTest.java b/src/test/java/com/google/devtools/build/skyframe/ReverseDepsUtilityTest.java
index 3001c2a43f..e61aef104d 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ReverseDepsUtilityTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ReverseDepsUtilityTest.java
@@ -51,13 +51,13 @@ public class ReverseDepsUtilityTest {
InMemoryNodeEntry example = new InMemoryNodeEntry();
for (int j = 0; j < numElements; j++) {
ReverseDepsUtility.addReverseDeps(
- example, Collections.singleton(SkyKey.create(NODE_TYPE, j)));
+ example, Collections.singleton(LegacySkyKey.create(NODE_TYPE, j)));
}
// Not a big test but at least check that it does not blow up.
assertThat(ReverseDepsUtility.toString(example)).isNotEmpty();
assertThat(ReverseDepsUtility.getReverseDeps(example)).hasSize(numElements);
for (int i = 0; i < numRemovals; i++) {
- ReverseDepsUtility.removeReverseDep(example, SkyKey.create(NODE_TYPE, i));
+ ReverseDepsUtility.removeReverseDep(example, LegacySkyKey.create(NODE_TYPE, i));
}
assertThat(ReverseDepsUtility.getReverseDeps(example)).hasSize(numElements - numRemovals);
assertThat(example.getReverseDepsDataToConsolidateForReverseDepsUtil()).isNull();
@@ -71,12 +71,12 @@ public class ReverseDepsUtilityTest {
InMemoryNodeEntry example = new InMemoryNodeEntry();
List<SkyKey> toAdd = new ArrayList<>();
for (int j = 0; j < numElements; j++) {
- toAdd.add(SkyKey.create(NODE_TYPE, j));
+ toAdd.add(LegacySkyKey.create(NODE_TYPE, j));
}
ReverseDepsUtility.addReverseDeps(example, toAdd);
assertThat(ReverseDepsUtility.getReverseDeps(example)).hasSize(numElements);
for (int i = 0; i < numRemovals; i++) {
- ReverseDepsUtility.removeReverseDep(example, SkyKey.create(NODE_TYPE, i));
+ ReverseDepsUtility.removeReverseDep(example, LegacySkyKey.create(NODE_TYPE, i));
}
assertThat(ReverseDepsUtility.getReverseDeps(example)).hasSize(numElements - numRemovals);
assertThat(example.getReverseDepsDataToConsolidateForReverseDepsUtil()).isNull();
@@ -88,10 +88,11 @@ public class ReverseDepsUtilityTest {
InMemoryNodeEntry example = new InMemoryNodeEntry();
for (int i = 0; i < numElements; i++) {
ReverseDepsUtility.addReverseDeps(
- example, Collections.singleton(SkyKey.create(NODE_TYPE, i)));
+ example, Collections.singleton(LegacySkyKey.create(NODE_TYPE, i)));
}
// Should only fail when we call getReverseDeps().
- ReverseDepsUtility.addReverseDeps(example, Collections.singleton(SkyKey.create(NODE_TYPE, 0)));
+ ReverseDepsUtility.addReverseDeps(
+ example, Collections.singleton(LegacySkyKey.create(NODE_TYPE, 0)));
try {
ReverseDepsUtility.getReverseDeps(example);
assertThat(numElements).isEqualTo(0);
@@ -102,7 +103,7 @@ public class ReverseDepsUtilityTest {
@Test
public void doubleAddThenRemove() {
InMemoryNodeEntry example = new InMemoryNodeEntry();
- SkyKey key = SkyKey.create(NODE_TYPE, 0);
+ SkyKey key = LegacySkyKey.create(NODE_TYPE, 0);
ReverseDepsUtility.addReverseDeps(example, Collections.singleton(key));
// Should only fail when we call getReverseDeps().
ReverseDepsUtility.addReverseDeps(example, Collections.singleton(key));
@@ -117,8 +118,8 @@ public class ReverseDepsUtilityTest {
@Test
public void doubleAddThenRemoveCheckedOnSize() {
InMemoryNodeEntry example = new InMemoryNodeEntry();
- SkyKey fixedKey = SkyKey.create(NODE_TYPE, 0);
- SkyKey key = SkyKey.create(NODE_TYPE, 1);
+ SkyKey fixedKey = LegacySkyKey.create(NODE_TYPE, 0);
+ SkyKey key = LegacySkyKey.create(NODE_TYPE, 1);
ReverseDepsUtility.addReverseDeps(example, ImmutableList.of(fixedKey, key));
// Should only fail when we reach the limit.
ReverseDepsUtility.addReverseDeps(example, Collections.singleton(key));
@@ -134,8 +135,8 @@ public class ReverseDepsUtilityTest {
@Test
public void addRemoveAdd() {
InMemoryNodeEntry example = new InMemoryNodeEntry();
- SkyKey fixedKey = SkyKey.create(NODE_TYPE, 0);
- SkyKey key = SkyKey.create(NODE_TYPE, 1);
+ SkyKey fixedKey = LegacySkyKey.create(NODE_TYPE, 0);
+ SkyKey key = LegacySkyKey.create(NODE_TYPE, 1);
ReverseDepsUtility.addReverseDeps(example, ImmutableList.of(fixedKey, key));
ReverseDepsUtility.removeReverseDep(example, key);
ReverseDepsUtility.addReverseDeps(example, Collections.singleton(key));
@@ -147,12 +148,13 @@ public class ReverseDepsUtilityTest {
InMemoryNodeEntry example = new InMemoryNodeEntry();
for (int i = 0; i < numElements; i++) {
ReverseDepsUtility.addReverseDeps(
- example, Collections.singleton(SkyKey.create(NODE_TYPE, i)));
+ example, Collections.singleton(LegacySkyKey.create(NODE_TYPE, i)));
// This should always succeed, since the next element is still not present.
- ReverseDepsUtility.maybeCheckReverseDepNotPresent(example, SkyKey.create(NODE_TYPE, i + 1));
+ ReverseDepsUtility.maybeCheckReverseDepNotPresent(
+ example, LegacySkyKey.create(NODE_TYPE, i + 1));
}
try {
- ReverseDepsUtility.maybeCheckReverseDepNotPresent(example, SkyKey.create(NODE_TYPE, 0));
+ ReverseDepsUtility.maybeCheckReverseDepNotPresent(example, LegacySkyKey.create(NODE_TYPE, 0));
// Should only fail if empty or above the checking threshold.
assertThat(numElements == 0 || numElements >= ReverseDepsUtility.MAYBE_CHECK_THRESHOLD)
.isTrue();
diff --git a/src/test/java/com/google/devtools/build/skyframe/SkyKeyTest.java b/src/test/java/com/google/devtools/build/skyframe/SkyKeyTest.java
index 0e22db30ca..fc3cb3faa4 100644
--- a/src/test/java/com/google/devtools/build/skyframe/SkyKeyTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/SkyKeyTest.java
@@ -16,13 +16,11 @@ package com.google.devtools.build.skyframe;
import static com.google.common.truth.Truth.assertThat;
import com.google.devtools.build.lib.testutil.TestUtils;
-
+import java.io.Serializable;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import java.io.Serializable;
-
/**
* Unit test for the SkyKey class, checking hash code transience logic.
*/
@@ -36,7 +34,7 @@ public class SkyKeyTest {
assertThat(hashCodeSpy.getNumberOfTimesHashCodeCalled()).isEqualTo(0);
// When a SkyKey is constructed with that HashCodeSpy as its argument,
- SkyKey originalKey = SkyKey.create(SkyFunctionName.create("TEMP"), hashCodeSpy);
+ SkyKey originalKey = LegacySkyKey.create(SkyFunctionName.create("TEMP"), hashCodeSpy);
// Then the HashCodeSpy reports that its hashcode method was called once.
assertThat(hashCodeSpy.getNumberOfTimesHashCodeCalled()).isEqualTo(1);