Allow opaque OptionsClassProvider to be passed around in BuildDriver#meta et all so that custom implementations can have custom options passed around.
--
MOS_MIGRATED_REVID=112502778
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 1bae0b7..517a33f 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
@@ -138,6 +138,7 @@
import com.google.devtools.build.skyframe.SkyValue;
import com.google.devtools.build.skyframe.WalkableGraph;
import com.google.devtools.build.skyframe.WalkableGraph.WalkableGraphFactory;
+import com.google.devtools.common.options.OptionsClassProvider;
import java.io.IOException;
import java.io.PrintStream;
@@ -1464,9 +1465,9 @@
* Get metadata related to the prepareAndGet() lookup. Resulting data is specific to the
* underlying evaluation implementation.
*/
- public String prepareAndGetMetadata(Collection<String> patterns, String offset)
- throws AbruptExitException, InterruptedException {
- return buildDriver.meta(ImmutableList.of(getUniverseKey(patterns, offset)));
+ public String prepareAndGetMetadata(Collection<String> patterns, String offset,
+ OptionsClassProvider options) throws AbruptExitException, InterruptedException {
+ return buildDriver.meta(ImmutableList.of(getUniverseKey(patterns, offset)), options);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/skyframe/BUILD b/src/main/java/com/google/devtools/build/skyframe/BUILD
index f89eb51..19a32a0 100644
--- a/src/main/java/com/google/devtools/build/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/skyframe/BUILD
@@ -14,6 +14,7 @@
"//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/lib:vfs",
+ "//src/main/java/com/google/devtools/common/options",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java b/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
index a63afc7..6fe62ec 100644
--- a/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
+++ b/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
@@ -16,6 +16,7 @@
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.util.AbruptExitException;
+import com.google.devtools.common.options.OptionsClassProvider;
import javax.annotation.Nullable;
@@ -35,7 +36,9 @@
* Retrieve metadata about the computation over the given roots. Data returned is specific to the
* underlying evaluator implementation.
*/
- String meta(Iterable<SkyKey> roots) throws AbruptExitException, InterruptedException;
+ String meta(Iterable<SkyKey> roots, OptionsClassProvider options)
+ throws AbruptExitException, InterruptedException;
+
MemoizingEvaluator getGraphForTesting();
diff --git a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
index 8f76b15..99e2ef0 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
@@ -15,6 +15,7 @@
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.common.options.OptionsClassProvider;
import javax.annotation.Nullable;
@@ -42,7 +43,7 @@
}
@Override
- public String meta(Iterable<SkyKey> of) {
+ public String meta(Iterable<SkyKey> of, OptionsClassProvider options) {
return "";
}