ruby / rake

A make-like build utility for Ruby.
https://ruby.github.io/rake
MIT License
2.34k stars 613 forks source link

Does `nowrite` ever take effect? #361

Open avdi opened 4 years ago

avdi commented 4 years ago

--dry-run sets both nowrite(false) and options.dry_run = true. The thing is, so long as options.dry_run == true, Task execution short-circuits before it ever gets to execute any FileUtils methods.

So the question is... does nowrite/noop ever take effect?

The only way I can find to get Rake to tell me what it would do (without doing it) is:

$ rake -E 'Rake.nowrite(true)' 

(That's the behavior I expected from --dry-run, honestly.)

So... are the noop/nowrite branches effectively dead code? Or am I missing something?

avdi commented 4 years ago

(For comparison, GNU Make's --dry-run/-n prints the commands it WOULD execute, without executing them.)

jasonkarns commented 2 years ago

This also seems to make the when_writing method useless, since it would always be true?