Move action_outs directory to under the output path.

PiperOrigin-RevId: 152307322
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 59e447e..997b9e7 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
@@ -350,6 +350,9 @@
       startLocalOutputBuild(analysisResult.getWorkspaceName());
     }
 
+    // Must be created after the output path is created above.
+    createActionLogDirectory();
+
     List<BuildConfiguration> targetConfigurations = configurations.getTargetConfigurations();
     BuildConfiguration targetConfiguration = targetConfigurations.size() == 1
         ? targetConfigurations.get(0) : null;
@@ -496,9 +499,6 @@
     // Prepare for build.
     Profiler.instance().markPhase(ProfilePhase.PREPARE);
 
-    // Create some tools symlinks / cleanup per-build state
-    createActionLogDirectory();
-
     // Plant the symlink forest.
     try {
       new SymlinkForest(
@@ -518,12 +518,12 @@
   }
 
   private void createActionLogDirectory() throws ExecutorInitException {
-    Path directory = env.getDirectories().getActionConsoleOutputDirectory();
+    Path directory = env.getActionConsoleOutputDirectory();
     try {
       if (directory.exists()) {
         FileSystemUtils.deleteTree(directory);
       }
-      directory.createDirectory();
+      FileSystemUtils.createDirectoryAndParents(directory);
     } catch (IOException e) {
       throw new ExecutorInitException("Couldn't delete action output directory", e);
     }
@@ -655,7 +655,7 @@
     BuildRequest.BuildRequestOptions options = request.getBuildOptions();
     boolean keepGoing = request.getViewOptions().keepGoing;
 
-    Path actionOutputRoot = env.getDirectories().getActionConsoleOutputDirectory();
+    Path actionOutputRoot = env.getActionConsoleOutputDirectory();
     Predicate<Action> executionFilter = CheckUpToDateFilter.fromOptions(
         request.getOptions(ExecutionOptions.class));