-
Notifications
You must be signed in to change notification settings - Fork 125
Open
Description
Hi Neil,
my build system usually uses --keep-going, because I expect there to be a number of build failures (finding and fixing them is the main purpose of the tool).
The message printed upon the first error is confusing to the user. Can it somehow be disabled?
Here is an example:
import Development.Shake
main = shakeArgs shakeOptions $ do
want ["foo1","foo2"]
"foo1" %> \out -> do
need ["bar1"]
putNormal out
"foo2" %> \out -> do
need ["bar2"]
putNormal out
"bar1" %> \out -> do
writeFileLines out []
putNormal out
"bar2" %> \out -> do
writeFileLines out []
putNormal out
Currently, it prints:
$ ./staunch-bug --keep-going
bar2
foo2
Error when running Shake build system:
* foo2
Error, rule "foo2" failed to build file:
foo2
Continuing due to staunch mode, this error will be repeated later
bar1
foo1
Error when running Shake build system:
* foo2
Error, rule "foo2" failed to build file:
foo2
Note that the error on foo2 is reported twice, but no other error is.
I would rather like to see either
$ ./staunch-bug --keep-going
bar2
foo2
bar1
foo1
(and I would extend my rules to give better error messages), or
$ ./staunch-bug --keep-going
bar2
foo2
Error when running Shake build system:
* foo2
Error, rule "foo2" failed to build file:
foo2
bar1
foo1
Error when running Shake build system:
* foo1
Error, rule "foo1" failed to build file:
foo1
Metadata
Metadata
Assignees
Labels
No labels