aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
diff options
context:
space:
mode:
authorGravatar olaola <olaola@google.com>2018-03-21 11:22:12 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-21 11:24:08 -0700
commitbf326fa3f4c40412c3e945d0b0eb7e81325e7d4d (patch)
treebbca1fbb0713d3f6cd799e927b085362bef7df62 /src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
parentd78cbe9d595bb9ea7c56bb9f506b5c60eb75b756 (diff)
Propagating and printing server logs on demand.
WANT_LGTM=all TESTED=RBE, unit tests RELNOTES: None PiperOrigin-RevId: 189938345
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
index 72c58d312b..dbb0e063b4 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.runtime.ServerBuilder;
import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.devtools.build.lib.util.ExitCode;
import com.google.devtools.build.lib.vfs.FileSystem.HashFunction;
+import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsProvider;
@@ -97,6 +98,18 @@ public final class RemoteModule extends BlazeModule {
String buildRequestId = env.getBuildRequestId().toString();
String commandId = env.getCommandId().toString();
logger.info("Command: buildRequestId = " + buildRequestId + ", commandId = " + commandId);
+ Path logDir =
+ env.getOutputBase().getRelative(env.getRuntime().getProductName() + "-remote-logs");
+ try {
+ // Clean out old logs files.
+ if (logDir.exists()) {
+ FileSystemUtils.deleteTree(logDir);
+ }
+ logDir.createDirectory();
+ } catch (IOException e) {
+ env.getReporter()
+ .handle(Event.error("Could not create base directory for remote logs: " + logDir));
+ }
RemoteOptions remoteOptions = env.getOptions().getOptions(RemoteOptions.class);
AuthAndTLSOptions authAndTlsOptions = env.getOptions().getOptions(AuthAndTLSOptions.class);
HashFunction hashFn = env.getRuntime().getFileSystem().getDigestFunction();
@@ -154,7 +167,8 @@ public final class RemoteModule extends BlazeModule {
executor = null;
}
- actionContextProvider = new RemoteActionContextProvider(env, cache, executor, digestUtil);
+ actionContextProvider =
+ new RemoteActionContextProvider(env, cache, executor, digestUtil, logDir);
} catch (IOException e) {
env.getReporter().handle(Event.error(e.getMessage()));
env.getBlazeModuleEnvironment().exit(new AbruptExitException(ExitCode.COMMAND_LINE_ERROR));