Simplify ActionContextProvider: remove init().

This method is only implemented in one action context provider and the provided file cache is always strictly derived from the command environment. Move the file cache creation to the command environment instead which is accessible everywhere the cache is needed.

RELNOTES: None.
PiperOrigin-RevId: 288554250
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 9119264..679f8e5 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
@@ -31,7 +31,6 @@
 import com.google.devtools.build.lib.actions.Executor;
 import com.google.devtools.build.lib.actions.ExecutorInitException;
 import com.google.devtools.build.lib.actions.LocalHostCapacity;
-import com.google.devtools.build.lib.actions.MetadataProvider;
 import com.google.devtools.build.lib.actions.PackageRoots;
 import com.google.devtools.build.lib.actions.ResourceManager;
 import com.google.devtools.build.lib.actions.ResourceSet;
@@ -63,7 +62,6 @@
 import com.google.devtools.build.lib.exec.CheckUpToDateFilter;
 import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.ExecutorBuilder;
-import com.google.devtools.build.lib.exec.SingleBuildFileCache;
 import com.google.devtools.build.lib.exec.SpawnActionContextMaps;
 import com.google.devtools.build.lib.exec.SymlinkTreeStrategy;
 import com.google.devtools.build.lib.profiler.AutoProfiler;
@@ -121,7 +119,6 @@
   private final BlazeRuntime runtime;
   private final BuildRequest request;
   private BlazeExecutor executor;
-  private final MetadataProvider fileCache;
   private final ActionInputPrefetcher prefetcher;
   private final ImmutableList<ActionContextProvider> actionContextProviders;
   private SpawnActionContextMaps spawnActionContextMaps;
@@ -151,18 +148,9 @@
     builder
         .addStrategyByContext(WorkspaceStatusAction.Context.class, "")
         .addStrategyByContext(SymlinkTreeActionContext.class, "");
-
-    // Unfortunately, the exec root cache is not shared with caches in the remote execution client.
-    this.fileCache =
-        new SingleBuildFileCache(env.getExecRoot().getPathString(), runtime.getFileSystem());
+      
     this.prefetcher = builder.getActionInputPrefetcher();
-
     this.actionContextProviders = builder.getActionContextProviders();
-    for (ActionContextProvider provider : actionContextProviders) {
-      try (SilentCloseable closeable = Profiler.instance().profile(provider + ".init")) {
-        provider.init(fileCache);
-      }
-    }
 
     // There are many different SpawnActions, and we want to control the action context they use
     // independently from each other, for example, to run genrules locally and Java compile action
@@ -689,7 +677,7 @@
         request.getPackageCacheOptions().checkOutputFiles
             ? modifiedOutputFiles
             : ModifiedFileSet.NOTHING_MODIFIED,
-        fileCache,
+        env.getFileCache(),
         prefetcher);
   }