aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2017-04-05 21:41:23 +0000
committerGravatar Marcel Hlopko <hlopko@google.com>2017-04-06 11:00:31 +0200
commit0049e964f1ab5fe23969ffd2aa906dbed3fc8f7e (patch)
tree478b3116603437242f7a6411be62a6023ce86243 /src/main/java/com/google/devtools
parent2a6b8edb959fbc7adf7a081e399d5d43df703219 (diff)
Move action_outs directory to under the output path.
PiperOrigin-RevId: 152307322
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java8
3 files changed, 18 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
index 20954bb732..d546870a4a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
@@ -178,12 +178,11 @@ public final class BlazeDirectories {
}
/**
- * Returns the directory where the stdout/stderr for actions can be stored
- * temporarily for a build. If the directory already exists, the directory
- * is cleaned.
+ * Returns the directory where the stdout/stderr for actions can be stored temporarily for a
+ * build. If the directory already exists, the directory is cleaned.
*/
- public Path getActionConsoleOutputDirectory() {
- return getOutputBase().getRelative("action_outs");
+ public Path getActionConsoleOutputDirectory(Path execRoot) {
+ return execRoot.getRelative(getRelativeOutputPath()).getRelative("_tmp/action_outs");
}
/**
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 59e447eecd..997b9e7504 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 @@ public class ExecutionTool {
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 @@ public class ExecutionTool {
// 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 @@ public class ExecutionTool {
}
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 @@ public class ExecutionTool {
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));
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
index 0014eac0be..46c133fcc8 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
@@ -326,6 +326,14 @@ public final class CommandEnvironment {
}
/**
+ * Returns the directory where actions' outputs and errors will be written. Is below the directory
+ * returned by {@link #getExecRoot}.
+ */
+ public Path getActionConsoleOutputDirectory() {
+ return getDirectories().getActionConsoleOutputDirectory(getExecRoot());
+ }
+
+ /**
* Returns the working directory of the {@code blaze} client process.
*
* <p>This may be equal to {@code BlazeRuntime#getWorkspace()}, or beneath it.