Clean up ExecutorBuilder and remove unneeded methods.

Part of the rollforward of https://github.com/bazelbuild/bazel/commit/37aeabcd39fe326d1c4e55693d8d207f9f7ac6c4.

PiperOrigin-RevId: 315517169
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index c9fd43f..0fdb3b6 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -146,11 +146,9 @@
 
     ExecutorBuilder executorBuilder = new ExecutorBuilder();
     ModuleActionContextRegistry.Builder actionContextRegistryBuilder =
-        executorBuilder.asModuleActionContextRegistryBuilder(ModuleActionContextRegistry.builder());
-    SpawnStrategyRegistry.Builder spawnStrategyRegistryBuilder =
-        executorBuilder.asSpawnStrategyRegistryBuilder(SpawnStrategyRegistry.builder());
+        ModuleActionContextRegistry.builder();
+    SpawnStrategyRegistry.Builder spawnStrategyRegistryBuilder = SpawnStrategyRegistry.builder();
     actionContextRegistryBuilder.register(SpawnStrategyResolver.class, new SpawnStrategyResolver());
-    executorBuilder.addStrategyByContext(SpawnStrategyResolver.class, "");
 
     for (BlazeModule module : runtime.getBlazeModules()) {
       try (SilentCloseable ignored = Profiler.instance().profile(module + ".executorInit")) {
@@ -193,13 +191,7 @@
     actionContextRegistryBuilder.register(DynamicStrategyRegistry.class, spawnStrategyRegistry);
     actionContextRegistryBuilder.register(RemoteLocalFallbackRegistry.class, spawnStrategyRegistry);
 
-    executorBuilder.addActionContext(SpawnStrategyRegistry.class, spawnStrategyRegistry);
-    executorBuilder.addStrategyByContext(SpawnStrategyRegistry.class, "");
-
     ModuleActionContextRegistry moduleActionContextRegistry = actionContextRegistryBuilder.build();
-    executorBuilder.addActionContext(
-        ModuleActionContextRegistry.class, moduleActionContextRegistry);
-    executorBuilder.addStrategyByContext(ModuleActionContextRegistry.class, "");
 
     this.actionContextRegistry = moduleActionContextRegistry;
     this.spawnStrategyRegistry = spawnStrategyRegistry;
diff --git a/src/main/java/com/google/devtools/build/lib/exec/BUILD b/src/main/java/com/google/devtools/build/lib/exec/BUILD
index e25903d..c90923a 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/exec/BUILD
@@ -107,11 +107,8 @@
     srcs = ["ExecutorBuilder.java"],
     deps = [
         ":executor_lifecycle_listener",
-        ":module_action_context_registry",
         ":spawn_action_context_maps",
-        ":spawn_strategy_registry",
         "//src/main/java/com/google/devtools/build/lib/actions",
-        "//src/main/java/com/google/devtools/build/lib/util",
         "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
         "//third_party:guava",
     ],
diff --git a/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java b/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
index f504eb5..3c40288 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
@@ -14,16 +14,10 @@
 package com.google.devtools.build.lib.exec;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
-import com.google.devtools.build.lib.actions.ActionContext;
 import com.google.devtools.build.lib.actions.ActionInputPrefetcher;
-import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnStrategy;
 import com.google.devtools.build.lib.util.AbruptExitException;
-import com.google.devtools.build.lib.util.RegexFilter;
 import java.util.LinkedHashSet;
-import java.util.List;
 import java.util.Set;
 
 /**
@@ -50,98 +44,6 @@
   }
 
   /**
-   * Adds the specified action context to the executor, by wrapping it in a simple action context
-   * provider implementation.
-   *
-   * <p>If two action contexts are registered that share an identifying type and commandline
-   * identifier the last registered will take precedence.
-   */
-  public <T extends ActionContext> ExecutorBuilder addActionContext(
-      Class<T> identifyingType, T context, String... commandlineIdentifiers) {
-    spawnActionContextMapsBuilder.addContext(identifyingType, context, commandlineIdentifiers);
-    return this;
-  }
-
-  /**
-   * Sets the strategy names for a given action mnemonic.
-   *
-   * <p>During execution, the {@link ProxySpawnActionContext} will ask each strategy whether it can
-   * execute a given Spawn. The first strategy in the list that says so will get the job.
-   */
-  public ExecutorBuilder addStrategyByMnemonic(String mnemonic, List<String> strategies) {
-    spawnActionContextMapsBuilder.strategyByMnemonicMap().replaceValues(mnemonic, strategies);
-    return this;
-  }
-
-  /**
-   * Sets the strategy names to use in the remote branch of dynamic execution for a given action
-   * mnemonic.
-   *
-   * <p>During execution, each strategy is {@linkplain SpawnStrategy#canExec(Spawn,
-   * ActionContext.ActionContextRegistry) asked} whether it can execute a given Spawn. The first
-   * strategy in the list that says so will get the job.
-   */
-  public ExecutorBuilder addDynamicRemoteStrategiesByMnemonic(
-      String mnemonic, List<String> strategies) {
-    spawnActionContextMapsBuilder
-        .remoteDynamicStrategyByMnemonicMap()
-        .replaceValues(mnemonic, strategies);
-    return this;
-  }
-
-  /**
-   * Sets the strategy names to use in the local branch of dynamic execution for a given action
-   * mnemonic.
-   *
-   * <p>During execution, each strategy is {@linkplain SpawnStrategy#canExec(Spawn,
-   * ActionContext.ActionContextRegistry) asked} whether it can execute a given Spawn. The first
-   * strategy in the list that says so will get the job.
-   */
-  public ExecutorBuilder addDynamicLocalStrategiesByMnemonic(
-      String mnemonic, List<String> strategies) {
-    spawnActionContextMapsBuilder
-        .localDynamicStrategyByMnemonicMap()
-        .replaceValues(mnemonic, strategies);
-    return this;
-  }
-
-  /** Sets the strategy name to use if remote execution is not possible. */
-  public ExecutorBuilder setRemoteFallbackStrategy(String remoteLocalFallbackStrategy) {
-    spawnActionContextMapsBuilder.setRemoteFallbackStrategy(remoteLocalFallbackStrategy);
-    return this;
-  }
-
-  /**
-   * Adds an implementation with a specific strategy name.
-   *
-   * <p>Modules are free to provide different implementations of {@code ActionContext}. This can be
-   * used, for example, to implement sandboxed or distributed execution of {@code SpawnAction}s in
-   * different ways, while giving the user control over how exactly they are executed.
-   *
-   * <p>Example: a module requires {@code MyCustomActionContext} to be available, but doesn't
-   * associate it with any strategy. Call <code>
-   * addStrategyByContext(MyCustomActionContext.class, "")</code>.
-   *
-   * <p>Example: a module requires {@code MyLocalCustomActionContext} to be available, and wants it
-   * to always use the "local" strategy. Call <code>
-   * addStrategyByContext(MyCustomActionContext.class, "local")</code>.
-   */
-  public ExecutorBuilder addStrategyByContext(
-      Class<? extends ActionContext> actionContext, String strategy) {
-    spawnActionContextMapsBuilder.strategyByContextMap().put(actionContext, strategy);
-    return this;
-  }
-
-  /**
-   * Similar to {@link #addStrategyByMnemonic}, but allows specifying a regex for the set of
-   * matching mnemonics, instead of an exact string.
-   */
-  public ExecutorBuilder addStrategyByRegexp(RegexFilter regexFilter, List<String> strategy) {
-    spawnActionContextMapsBuilder.addStrategyByRegexp(regexFilter, strategy);
-    return this;
-  }
-
-  /**
    * Sets the action input prefetcher. Only one module may set the prefetcher. If multiple modules
    * set it, this method will throw an {@link IllegalStateException}.
    */
@@ -161,139 +63,4 @@
     executorLifecycleListeners.add(listener);
     return this;
   }
-
-  // TODO(katre): Use a fake implementation to allow for migration to the new API.
-  public ModuleActionContextRegistry.Builder asModuleActionContextRegistryBuilder(
-      ModuleActionContextRegistry.Builder registryBuilder) {
-    return new ModuleActionContextDelegate(registryBuilder, this);
-  }
-
-  private static final class ModuleActionContextDelegate
-      implements ModuleActionContextRegistry.Builder {
-    private final ModuleActionContextRegistry.Builder registryBuilder;
-    private final ExecutorBuilder executorBuilder;
-
-    private ModuleActionContextDelegate(
-        ModuleActionContextRegistry.Builder registryBuilder, ExecutorBuilder executorBuilder) {
-      this.executorBuilder = executorBuilder;
-      this.registryBuilder = registryBuilder;
-    }
-
-    @Override
-    public ModuleActionContextRegistry.Builder restrictTo(
-        Class<?> identifyingType, String restriction) {
-      this.registryBuilder.restrictTo(identifyingType, restriction);
-      Preconditions.checkArgument(ActionContext.class.isAssignableFrom(identifyingType));
-      @SuppressWarnings("unchecked")
-      Class<? extends ActionContext> castType = (Class<? extends ActionContext>) identifyingType;
-      this.executorBuilder.addStrategyByContext(castType, restriction);
-      return this;
-    }
-
-    @Override
-    public <T extends ActionContext> ModuleActionContextRegistry.Builder register(
-        Class<T> identifyingType, T context, String... commandLineIdentifiers) {
-      this.registryBuilder.register(identifyingType, context, commandLineIdentifiers);
-      this.executorBuilder.addActionContext(identifyingType, context, commandLineIdentifiers);
-      return this;
-    }
-
-    @Override
-    public ModuleActionContextRegistry build() throws AbruptExitException {
-      ModuleActionContextRegistry moduleActionContextRegistry = this.registryBuilder.build();
-      return moduleActionContextRegistry;
-    }
-  }
-
-  // TODO(katre): Use a fake implementation to allow for migration to the new API.
-  public SpawnStrategyRegistry.Builder asSpawnStrategyRegistryBuilder(
-      SpawnStrategyRegistry.Builder spawnStrategyRegistry) {
-    return new SpawnStrategyRegistryDelegate(spawnStrategyRegistry, this);
-  }
-
-  private static final class SpawnStrategyRegistryDelegate
-      implements SpawnStrategyRegistry.Builder {
-    private final SpawnStrategyRegistry.Builder spawnStrategyRegistry;
-    private final ExecutorBuilder executorBuilder;
-
-    private SpawnStrategyRegistryDelegate(
-        SpawnStrategyRegistry.Builder spawnStrategyRegistry, ExecutorBuilder executorBuilder) {
-      this.spawnStrategyRegistry = spawnStrategyRegistry;
-      this.executorBuilder = executorBuilder;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder addDescriptionFilter(
-        RegexFilter filter, List<String> identifiers) {
-      this.spawnStrategyRegistry.addDescriptionFilter(filter, identifiers);
-      this.executorBuilder.addStrategyByRegexp(filter, identifiers);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder addMnemonicFilter(
-        String mnemonic, List<String> identifiers) {
-      this.spawnStrategyRegistry.addMnemonicFilter(mnemonic, identifiers);
-      this.executorBuilder.addStrategyByMnemonic(mnemonic, identifiers);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder registerStrategy(
-        SpawnStrategy strategy, List<String> commandlineIdentifiers) {
-      this.spawnStrategyRegistry.registerStrategy(strategy, commandlineIdentifiers);
-      this.executorBuilder.addActionContext(
-          SpawnStrategy.class, strategy, commandlineIdentifiers.toArray(new String[0]));
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder useLegacyDescriptionFilterPrecedence() {
-      // Ignored.
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder setDefaultStrategies(List<String> defaultStrategies) {
-      this.spawnStrategyRegistry.setDefaultStrategies(defaultStrategies);
-      this.executorBuilder.addStrategyByMnemonic("", defaultStrategies);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder resetDefaultStrategies() {
-      this.spawnStrategyRegistry.resetDefaultStrategies();
-      this.executorBuilder.addStrategyByMnemonic("", ImmutableList.of(""));
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder addDynamicRemoteStrategiesByMnemonic(
-        String mnemonic, List<String> strategies) {
-      this.spawnStrategyRegistry.addDynamicRemoteStrategiesByMnemonic(mnemonic, strategies);
-      this.executorBuilder.addDynamicRemoteStrategiesByMnemonic(mnemonic, strategies);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder addDynamicLocalStrategiesByMnemonic(
-        String mnemonic, List<String> strategies) {
-      this.spawnStrategyRegistry.addDynamicLocalStrategiesByMnemonic(mnemonic, strategies);
-      this.executorBuilder.addDynamicLocalStrategiesByMnemonic(mnemonic, strategies);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry.Builder setRemoteLocalFallbackStrategyIdentifier(
-        String commandlineIdentifier) {
-      this.spawnStrategyRegistry.setRemoteLocalFallbackStrategyIdentifier(commandlineIdentifier);
-      this.executorBuilder.setRemoteFallbackStrategy(commandlineIdentifier);
-      return this;
-    }
-
-    @Override
-    public SpawnStrategyRegistry build() throws AbruptExitException {
-      return this.spawnStrategyRegistry.build();
-    }
-  }
 }