shake-build-system

Shake: Inherit stderr


Using Shake, I am calling cdparanoia. cdparanoia outputs a useful progress meter (including graphics to display issues) when its stderr is connected to a terminal; but not otherwise. The --stderr-progress forces some progress output, but it's not as useful, and would require a chunk of work to interpret.

I would like to run the cdparanoia command with its stderr inherited directly, (or otherwise connected to /dev/tty). I have tried using the FileStderr option set to /dev/tty, but that doesn't help - I guess shake is still sucking in the stderr, and then passing it onto /dev/tty.

Is there a way to convince shake to run a command with its stderr truly inherited? Or should I use System.Process (or similar) for this?

Cheers,


Solution

  • At the moment, you'd need to use System.Process, but it's feasible that Shake could offer a way to inherit handles. The reason Shake doesn't currently offer inheriting is because bad things might happen if you ran two simultaneous processes inherited.