Open artsiommiksiuk opened 2 months ago
Hrmm, this is tricky. We have this condition that's being hit in this case:
// When a task is configured as local (no caching), or the interactive flag is passed,
// we don't "capture" stdout/stderr (which breaks stdin) and let it stream natively.
if !self.task.options.cache && context.primary_targets.len() == 1 {
self.interactive = true;
}
It's basically to support stdin. If the command is buffered but requires stdin, the user would never know.
I can update the docs about this scenario at least.
I think there should be then flag which doesn't beef with other flags which just allows user to control output behaviour regardless of other settings. Explicit and simple output: yes | no will do.
This setting originally worked that way but then cause a bunch of confusion/issues because users couldn't understand how to handle stdin and assumed moon or their task was broken.
I'm not sure what the best solution is here.
Describe the bug
Having this task definition
and selecting outputStyle either
buffer-only-failure
or evennone
, still prints hello in the console, independently if this is a transient or non transient dependency.Steps to reproduce
Expected behavior
Nothing is printed in the console if running via test2.
Environment