witty-crayon-22786
10/02/2019, 9:49 PMwitty-crayon-22786
10/02/2019, 10:32 PMwitty-crayon-22786
10/02/2019, 10:33 PMhundreds-breakfast-49010
10/02/2019, 10:33 PMhundreds-breakfast-49010
10/02/2019, 10:33 PMwitty-crayon-22786
10/02/2019, 11:44 PMwitty-crayon-22786
10/02/2019, 11:44 PMwitty-crayon-22786
10/03/2019, 3:45 AMhundreds-breakfast-49010
10/03/2019, 9:38 PMhundreds-breakfast-49010
10/03/2019, 9:39 PMExecuteProcessRequest
is reasonablehundreds-breakfast-49010
10/03/2019, 9:40 PMhundreds-breakfast-49010
10/03/2019, 9:41 PMdist
, and then running it from there, just as if we had run python binary
and then invoked $ ./dist/<binary_name>
?hundreds-breakfast-49010
10/03/2019, 9:46 PM.run()
on a pex: https://github.com/pantsbuild/pants/blob/77aaa1e4afb1b1ed0ae08aa9e87a9718cd5028ea/src/python/pants/backend/python/tasks/python_run.py#L46witty-crayon-22786
10/03/2019, 9:48 PMalthough I'm not sure we gain anything out of allowing a process to run locally but in a tmpdir, as opposed to running locally in the workspacealmost all things you will execute will have "n or more" files that they need somewhere.
witty-crayon-22786
10/03/2019, 9:48 PMwitty-crayon-22786
10/03/2019, 9:49 PMas far as running user binaries in the workspace - would this involve materializing the pex toum, for some designs, yea. but not for the "exclusivity" approach., and then running it from there, just as if we had rundist
and then invokedpython binary
?$ ./dist/<binary_name>
witty-crayon-22786
10/03/2019, 9:49 PMhundreds-breakfast-49010
10/03/2019, 9:59 PMdigest
on a Pex
object, that's the change I got merged at the beginning of the weekhundreds-breakfast-49010
10/03/2019, 9:59 PMdigest
somewherehundreds-breakfast-49010
10/03/2019, 10:00 PMargv
parameter, and this is managed by the v2 engine in ways I haven't dug into deeplyhundreds-breakfast-49010
10/03/2019, 10:01 PMpants run
runs a file in the workspace, we need to either materialize the pex there (or in general whatever the executable unit is for any language), or we need to materialize it into a tmpdir and then change the working directory, right?hundreds-breakfast-49010
10/03/2019, 10:02 PMsubprocess
gives us the tools to do this, so if we wanted to we could bypass the enginehundreds-breakfast-49010
10/03/2019, 10:03 PMhundreds-breakfast-49010
10/03/2019, 10:03 PMhundreds-breakfast-49010
10/03/2019, 10:04 PMhundreds-breakfast-49010
10/03/2019, 10:05 PMwitty-crayon-22786
10/03/2019, 10:05 PMwitty-crayon-22786
10/03/2019, 10:05 PMwitty-crayon-22786
10/03/2019, 10:06 PMhundreds-breakfast-49010
10/03/2019, 10:06 PMwitty-crayon-22786
10/03/2019, 10:07 PMwitty-crayon-22786
10/03/2019, 10:08 PMhundreds-breakfast-49010
10/03/2019, 10:09 PMhundreds-breakfast-49010
10/03/2019, 10:09 PMhundreds-breakfast-49010
10/03/2019, 10:09 PMwitty-crayon-22786
10/03/2019, 10:09 PMso if we want to have the semantics thatthat's correct.runs a file in the workspace, we need to either materialize the pex there (or in general whatever the executable unit is for any language), or we need to materialize it into a tmpdir and then change the working directory, right?pants run
witty-crayon-22786
10/03/2019, 10:10 PMwitty-crayon-22786
10/03/2019, 10:11 PMsrc/rust/engine/process_execution/src/local.rs
hundreds-breakfast-49010
10/03/2019, 10:12 PMExecuteProcessRequest
for thishundreds-breakfast-49010
10/03/2019, 10:12 PMcwd
option to EPR would make this available to any user of EPR, in principlehundreds-breakfast-49010
10/03/2019, 10:15 PMhundreds-breakfast-49010
10/03/2019, 10:15 PMyield Get(ExecuteProcessResult, ExecuteProcessRequest(exclusivity=CONSOLE_AND_WORKSPACE))
hundreds-breakfast-49010
10/03/2019, 10:16 PMwitty-crayon-22786
10/03/2019, 10:21 PMwitty-crayon-22786
10/03/2019, 10:21 PMcwd
. it was to add an option like exclusivity
witty-crayon-22786
10/03/2019, 10:22 PMhundreds-breakfast-49010
10/03/2019, 10:22 PM<http://local.rs|local.rs>
, that's probably not a problem then, since it doesn't give rule-writers the ability to change the cwd arbitrarilywitty-crayon-22786
10/03/2019, 10:22 PMhundreds-breakfast-49010
10/03/2019, 10:23 PMwitty-crayon-22786
10/03/2019, 10:24 PMwitty-crayon-22786
10/03/2019, 10:24 PMhundreds-breakfast-49010
10/03/2019, 10:24 PMhundreds-breakfast-49010
10/03/2019, 10:26 PMWorkspace
that is only available in a @console_rule
, then we can guarantee that any functionality that type provides for you isn't cachedhundreds-breakfast-49010
10/03/2019, 10:26 PMhundreds-breakfast-49010
10/03/2019, 10:27 PM@console_rule
hundreds-breakfast-49010
10/03/2019, 10:28 PMLocalRunner
strategy I suggested in the dochundreds-breakfast-49010
10/03/2019, 10:29 PMwitty-crayon-22786
10/03/2019, 10:32 PMwitty-crayon-22786
10/03/2019, 10:32 PMwitty-crayon-22786
10/03/2019, 10:33 PMpytest
rules to allow for debugging in a repl?witty-crayon-22786
10/03/2019, 10:33 PMwitty-crayon-22786
10/03/2019, 10:34 PMhundreds-breakfast-49010
10/03/2019, 10:34 PMhundreds-breakfast-49010
10/03/2019, 10:35 PMhundreds-breakfast-49010
10/03/2019, 10:35 PMwitty-crayon-22786
10/03/2019, 10:40 PMhundreds-breakfast-49010
10/03/2019, 10:41 PMhundreds-breakfast-49010
10/03/2019, 11:20 PMos.execvp
hundreds-breakfast-49010
10/03/2019, 11:20 PMwitty-crayon-22786
10/03/2019, 11:22 PMforeground
here and in the docwitty-crayon-22786
10/03/2019, 11:23 PM