Yeesh.MixShell (Yeesh v0.8.3)

View Source

Custom Mix.Shell implementation for Yeesh Mix task execution.

Identical to Mix.Shell.IO except that error/1 writes through IO.puts/1 (which routes through the process group leader) instead of writing to :standard_error directly. This ensures error output from Mix tasks is captured by Yeesh.IOServer when the task's group leader has been replaced.

For processes with a normal group leader, the behaviour is effectively identical to Mix.Shell.IO -- output goes to stdout through the default group leader.

This module is only compiled when Mix.Shell is available (i.e. in dev/test environments, not in releases).