Update BazelStrategyModule to use registry methods instead of executorInit where possible.
Part of the roll-forward of https://github.com/bazelbuild/bazel/commit/37aeabcd39fe326d1c4e55693d8d207f9f7ac6c4.
PiperOrigin-RevId: 303939082
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelStrategyModule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelStrategyModule.java
index 744b514..f503180 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelStrategyModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelStrategyModule.java
@@ -19,8 +19,9 @@
import com.google.devtools.build.lib.analysis.actions.TemplateExpansionContext;
import com.google.devtools.build.lib.buildtool.BuildRequest;
import com.google.devtools.build.lib.exec.ExecutionOptions;
-import com.google.devtools.build.lib.exec.ExecutorBuilder;
+import com.google.devtools.build.lib.exec.ModuleActionContextRegistry;
import com.google.devtools.build.lib.exec.SpawnCache;
+import com.google.devtools.build.lib.exec.SpawnStrategyRegistry;
import com.google.devtools.build.lib.remote.RemoteModule;
import com.google.devtools.build.lib.remote.options.RemoteOptions;
import com.google.devtools.build.lib.rules.cpp.CppIncludeExtractionContext;
@@ -45,7 +46,21 @@
}
@Override
- public void executorInit(CommandEnvironment env, BuildRequest request, ExecutorBuilder builder) {
+ public void registerActionContexts(
+ ModuleActionContextRegistry.Builder registryBuilder,
+ CommandEnvironment env,
+ BuildRequest buildRequest) {
+ registryBuilder
+ .restrictTo(CppIncludeExtractionContext.class, "")
+ .restrictTo(CppIncludeScanningContext.class, "")
+ .restrictTo(FileWriteActionContext.class, "")
+ .restrictTo(TemplateExpansionContext.class, "")
+ .restrictTo(SpawnCache.class, "");
+ }
+
+ @Override
+ public void registerSpawnStrategies(
+ SpawnStrategyRegistry.Builder registryBuilder, CommandEnvironment env) {
ExecutionOptions options = env.getOptions().getOptions(ExecutionOptions.class);
RemoteOptions remoteOptions = env.getOptions().getOptions(RemoteOptions.class);
@@ -62,25 +77,18 @@
}
spawnStrategies.add("local");
}
+ registryBuilder.setDefaultStrategies(spawnStrategies);
- // Allow genrule_strategy to also be overridden by --strategy= flags.
- builder.addStrategyByMnemonic("Genrule", options.genruleStrategy);
+ // By adding this filter before the ones derived from --strategy the latter can override the
+ // former.
+ registryBuilder.addMnemonicFilter("Genrule", options.genruleStrategy);
for (Map.Entry<String, List<String>> strategy : options.strategy) {
- builder.addStrategyByMnemonic(strategy.getKey(), strategy.getValue());
+ registryBuilder.addMnemonicFilter(strategy.getKey(), strategy.getValue());
}
- builder.addStrategyByMnemonic("", spawnStrategies);
-
for (Map.Entry<RegexFilter, List<String>> entry : options.strategyByRegexp) {
- builder.addStrategyByRegexp(entry.getKey(), entry.getValue());
+ registryBuilder.addDescriptionFilter(entry.getKey(), entry.getValue());
}
-
- builder
- .addStrategyByContext(CppIncludeExtractionContext.class, "")
- .addStrategyByContext(CppIncludeScanningContext.class, "")
- .addStrategyByContext(FileWriteActionContext.class, "")
- .addStrategyByContext(TemplateExpansionContext.class, "")
- .addStrategyByContext(SpawnCache.class, "");
}
}