From bf326fa3f4c40412c3e945d0b0eb7e81325e7d4d Mon Sep 17 00:00:00 2001 From: olaola Date: Wed, 21 Mar 2018 11:22:12 -0700 Subject: Propagating and printing server logs on demand. WANT_LGTM=all TESTED=RBE, unit tests RELNOTES: None PiperOrigin-RevId: 189938345 --- .../google/devtools/build/lib/remote/RemoteModule.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/google/devtools/build/lib/remote/RemoteModule.java') 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)); -- cgit v1.2.3