button.handlers.recursive

Members

Functions

execute
void execute(BuildContext ctx, const(string)[] args, string workDir, Resources inputs, Resources outputs)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta

Authors

Jason White

Description: Handles running Button recursively.

Instead of running another child process, we can use the same process to run Button recursively.

There are a several advantages to doing it this way: - The same thread pool can be reused. Thus, the correct number of worker threads is always used. - The same verbosity settings as the parent can be used. - The same output coloring mode can be used as the parent process. - Logging of output is more immediate. Output is normally accumulated and then printed all at once so it isn't interleaved with everything else. - Avoids the overhead of running another process. However, in general, this is a non-issue.

The only disadvantage to doing it this way is that it is more difficult to implement.