aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/protobuf
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2018-02-05 07:59:13 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-05 08:01:17 -0800
commit4741aa83145fd2d3ab0599314f7732c5b80977bd (patch)
treeb33310e226d9733ae0e538e433a54e337d6a67ed /src/main/protobuf
parent03ad9155f765fcdc0ccf4aae30a4def9914ea0b4 (diff)
Add a "direct" mode to "blaze run" that makes the process being run a direct
child of the process where the Blaze client itself was run. Limitations: - Untested on Windows; it should work because ExecuteProgram() is implemented there, too, but since Windows doesn't support exec(), there is at least one process in between Progress towards #2815. RELNOTES[NEW]: The new "--direct_run" flag on "blaze run" lets one run interactive binaries. PiperOrigin-RevId: 184528845
Diffstat (limited to 'src/main/protobuf')
-rw-r--r--src/main/protobuf/command_server.proto18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/protobuf/command_server.proto b/src/main/protobuf/command_server.proto
index b55a68817d..bad35abdb6 100644
--- a/src/main/protobuf/command_server.proto
+++ b/src/main/protobuf/command_server.proto
@@ -68,6 +68,20 @@ message StartupOption {
bytes source = 2;
}
+// Description of an environment variable
+message EnvironmentVariable {
+ bytes name = 1;
+ bytes value = 2;
+}
+
+// Description of a request by the server to the client to execute a binary
+// after the command invocation finishes.
+message ExecRequest {
+ bytes working_directory = 1;
+ repeated bytes argv = 2;
+ repeated EnvironmentVariable environment_variable = 3;
+}
+
// Contains metadata and result data for a command execution.
message RunResponse {
// Request cookie from the output base of the server. This serves as a
@@ -96,6 +110,10 @@ message RunResponse {
// Whether the command has shut down the server; if set, the client should
// wait until the server process dies before finishing.
bool termination_expected = 7;
+
+ // A command to exec() after the command invocation finishes. Should only be
+ // present if finished is set.
+ ExecRequest exec_request = 8;
}
// Passed to CommandServer.cancel to initiate graceful cancellation of an