average-vr-56795
02/04/2019, 8:36 AMaverage-vr-56795
02/04/2019, 6:34 PMaloof-angle-91616
02/04/2019, 6:35 PMaverage-vr-56795
02/04/2019, 6:35 PMaloof-angle-91616
02/04/2019, 6:36 PMaloof-angle-91616
02/04/2019, 6:36 PMaloof-angle-91616
02/04/2019, 6:37 PMexe_req = SplitExecuteProcessesRequest(argv, input_digest, splittable_trailing_args)
aloof-angle-91616
02/04/2019, 6:38 PMargv
given some selection of input argumentsaloof-angle-91616
02/04/2019, 6:39 PMaverage-vr-56795
02/04/2019, 6:39 PMaverage-vr-56795
02/04/2019, 6:39 PMaloof-angle-91616
02/04/2019, 6:39 PMNailgunTask
with v2 execution a bit, but that doesn't need to involve anything more than some of the above logic in NailgunTask
to startaloof-angle-91616
02/04/2019, 6:41 PMaverage-vr-56795
02/04/2019, 6:46 PMaverage-vr-56795
02/04/2019, 6:46 PMaloof-angle-91616
02/04/2019, 6:53 PMNailgunTask
as `ExecuteProcessRequest`s (or some wrapper for nailgun invocations) is a good idea even if we don't execute them hermetically at all (i would love to use this as an excuse to make the subprocess executor do hermetic execution though, and that might not be that hard)average-vr-56795
02/04/2019, 6:54 PMaverage-vr-56795
02/04/2019, 6:54 PMaloof-angle-91616
02/04/2019, 6:56 PMself.runjava()
is already generic to execution strategiesaloof-angle-91616
02/04/2019, 6:57 PMaloof-angle-91616
02/04/2019, 6:59 PMdef runjava_split(self, argv_factory, main, classpath, splittable_args, ...):
# ...
and making scalafmt our guinea pig, since there's an example already of that in the graal PR (although scalafmt is doing the splitting itself)aloof-angle-91616
02/04/2019, 7:01 PMPartitionedTestRunnerTaskMixin
is a good place to look at because this is almost exactly the kind of logic it does (and i happened to edit it recently for go testing)