task
task copied to clipboard
Recalculate cmds if deps change sources.
Life cycle of a task is somewhat like this:
compile(generates cmds) -> run deps -> fingerprint(on sources) -> run
Cmds generated by 'for', and based on sources, are calculated at compile time. Unfortunately, if sources are generated by a dependency, then the cmds will be out-of-date by the time the task runs.
This PR regenerates the cmds in such a case. There might be a few other edge cases where a task needs to be updated between compile and run
#1494