hundreds-breakfast-49010
10/09/2019, 12:33 AMhundreds-breakfast-49010
10/09/2019, 12:34 AMhundreds-breakfast-49010
10/09/2019, 12:35 AMExecuteProcessRequest
should interact with the existing multi-platform logic in the intrinsichundreds-breakfast-49010
10/09/2019, 12:49 AMwitty-crayon-22786
10/09/2019, 2:16 AMwitty-crayon-22786
10/09/2019, 2:18 AM./pants run
is the right goal for now?witty-crayon-22786
10/09/2019, 2:18 AMwitty-crayon-22786
10/09/2019, 2:22 AMaverage-vr-56795
10/09/2019, 11:12 AMaverage-vr-56795
10/09/2019, 11:12 AMhundreds-breakfast-49010
10/09/2019, 8:07 PM./pants run
, as long as ./pants binary
works (and that will once CI passes)hundreds-breakfast-49010
10/09/2019, 8:07 PM./pants run
(as well as ./pants repl
) is something that we want sooner rather than laterhundreds-breakfast-49010
10/09/2019, 8:10 PMhundreds-breakfast-49010
10/09/2019, 8:12 PMpants run
should look likehundreds-breakfast-49010
10/09/2019, 8:13 PMhundreds-breakfast-49010
10/09/2019, 8:13 PMhundreds-breakfast-49010
10/09/2019, 8:14 PMExecuteProcessResult
in a streaming fashion - as I understand it, the engine won't yield an ExecuteProcessResult
until the program is completely done runninghundreds-breakfast-49010
10/09/2019, 8:15 PMwitty-crayon-22786
10/09/2019, 8:49 PMand we also don't get stdout/stderr output fromthis is the actual work i'm talking about.in a streaming fashion - as I understand it, the engine won't yield anExecuteProcessResult
until the program is completely done runningExecuteProcessResult
witty-crayon-22786
10/09/2019, 8:49 PMforeground/exclusivity
flag.witty-crayon-22786
10/09/2019, 8:50 PMhundreds-breakfast-49010
10/09/2019, 9:22 PMconsole_rule
, so it has access to a Console
instance and the engine already makes sure that only one console_rule
runs at a time
2. I don't understand how adding the exclusivity
flag to ExecuteProcessRequest
in and of itself would let us handle an interactive subprocess. no matter what the v2 engine does internally in response to that flag, as long as the run console_rule
yields to the engine to wait for an ExecuteProcessResponse
, I don't see how we can run an interactive process (like a repl), or capture keyboard interrputs from python code (like the v1 run task is doing)witty-crayon-22786
10/09/2019, 9:26 PMwitty-crayon-22786
10/09/2019, 9:27 PM@rules
are running, they might be logging on stdout/stderrwitty-crayon-22786
10/09/2019, 9:27 PMwitty-crayon-22786
10/09/2019, 9:27 PMwitty-crayon-22786
10/09/2019, 9:28 PMwitty-crayon-22786
10/09/2019, 9:28 PMwitty-crayon-22786
10/09/2019, 9:29 PMwitty-crayon-22786
10/09/2019, 9:30 PMwitty-crayon-22786
10/09/2019, 9:31 PMwitty-crayon-22786
10/09/2019, 9:32 PMConsole
would be idealhundreds-breakfast-49010
10/09/2019, 9:33 PMhundreds-breakfast-49010
10/09/2019, 9:33 PMExecuteProcessRequest
that the engine determines can be run locallyhundreds-breakfast-49010
10/09/2019, 9:34 PMCommand
abstraction (although I'm not sure where spawn_async
comes from)hundreds-breakfast-49010
10/09/2019, 9:35 PMStdio
to provide the output handleshundreds-breakfast-49010
10/09/2019, 9:37 PMConsole
instancewitty-crayon-22786
10/09/2019, 9:38 PMwitty-crayon-22786
10/09/2019, 9:40 PMwitty-crayon-22786
10/09/2019, 9:40 PMstdout/stderr
witty-crayon-22786
10/09/2019, 9:41 PMwitty-crayon-22786
10/09/2019, 9:41 PMwitty-crayon-22786
10/09/2019, 9:42 PMwitty-crayon-22786
10/09/2019, 9:42 PMwitty-crayon-22786
10/09/2019, 9:42 PMwitty-crayon-22786
10/09/2019, 9:42 PMhundreds-breakfast-49010
10/09/2019, 9:48 PMhundreds-breakfast-49010
10/09/2019, 9:48 PMspawn_async
is doing but that seems like the important method therehundreds-breakfast-49010
10/09/2019, 9:49 PMhundreds-breakfast-49010
10/09/2019, 9:49 PMstdin(Stdio::null())
hundreds-breakfast-49010
10/09/2019, 9:50 PMhundreds-breakfast-49010
10/09/2019, 9:50 PMwitty-crayon-22786
10/09/2019, 9:51 PMtokio-process
. it's roughly equivalent to spawn.hundreds-breakfast-49010
10/09/2019, 9:51 PMExecutePorcessRequest
code path, which I'm increasingly less certain is the right way to go.witty-crayon-22786
10/09/2019, 9:52 PMforeground/exclusivity
hundreds-breakfast-49010
10/09/2019, 9:53 PM--loop
, that odens't necessarily imply that the way we need to support --loop
is by re-using ExecuteProcessRequestwitty-crayon-22786
10/09/2019, 9:53 PMwitty-crayon-22786
10/09/2019, 9:54 PMwitty-crayon-22786
10/09/2019, 9:56 PM--loop
, 2) ability to conditionally run a test process in the foreground, 3) streamingwitty-crayon-22786
10/09/2019, 9:59 PMhundreds-breakfast-49010
10/09/2019, 10:00 PMhundreds-breakfast-49010
10/09/2019, 10:00 PMLocalForegroundExecutProcess
with a similar API to ExecuteProcessRequest
hundreds-breakfast-49010
10/09/2019, 10:00 PMhundreds-breakfast-49010
10/09/2019, 10:01 PMpython_test_runner.py
hundreds-breakfast-49010
10/09/2019, 10:01 PMhundreds-breakfast-49010
10/09/2019, 10:02 PMtest
that either runs this code as ishundreds-breakfast-49010
10/09/2019, 10:02 PMwitty-crayon-22786
10/09/2019, 10:03 PMExecuteProcessRequest
witty-crayon-22786
10/09/2019, 10:03 PMwitty-crayon-22786
10/09/2019, 10:04 PMwitty-crayon-22786
10/09/2019, 10:05 PMhundreds-breakfast-49010
10/09/2019, 10:06 PMExecuteProcessRequest
fairly substantially, and that implies having to add more incidental complexity in the existing code path around process_execution
hundreds-breakfast-49010
10/09/2019, 10:07 PMhundreds-breakfast-49010
10/09/2019, 10:10 PM<http://nodes.rs|nodes.rs>
anyway, and could in principle re-use some of the existing code in process_execution
hundreds-breakfast-49010
10/09/2019, 10:11 PMMultiPlatformExecuteRequest
or how exactly we'd handle streaming outputhundreds-breakfast-49010
10/09/2019, 10:14 PMExecuteProcessResponse
- a type with stdout
and stderr
bytestrings - as an output in an interactive context, we want a different type of *Response
that has handles to stdout/stderr streamshundreds-breakfast-49010
10/09/2019, 10:15 PMExecuteProcessRequest
, then the presence or absence of that flag would make the output ExecuteProcessResponse
have a different shape depending on whether it's input had the flag or nohundreds-breakfast-49010
10/09/2019, 10:16 PMwitty-crayon-22786
10/09/2019, 10:39 PMwitty-crayon-22786
10/09/2019, 10:40 PMwitty-crayon-22786
10/09/2019, 10:40 PMwitty-crayon-22786
10/09/2019, 10:40 PMhundreds-breakfast-49010
10/09/2019, 10:51 PMwitty-crayon-22786
10/09/2019, 11:01 PMhundreds-breakfast-49010
10/10/2019, 12:07 AM