Don't wipe the timestamp when a target fails to redo.
It's really a separate condition. And since we're not removing the target *file* in case of error - we update it atomically, and keeping it is better than losing it - there's no reason to wipe the timestamp in that case either. However, we do need to know that the build failed, so that anybody else (especially in a parallel build) who looks at that target knows that it died. So add a separate flag just for that.
This commit is contained in:
parent
16bebd21b5
commit
0126f6be1e
4 changed files with 39 additions and 17 deletions
|
|
@ -42,6 +42,8 @@ def dirty_deps(f, depth, max_changed):
|
|||
|
||||
def should_build(t):
|
||||
f = state.File(name=t)
|
||||
if f.is_failed():
|
||||
raise builder.ImmediateReturn(32)
|
||||
return dirty_deps(f, depth = '', max_changed = vars.RUNID)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue