When running rake stats from inside an engine,
the engine's Rakefile attempts to reload
statistics.rake after the test app loads it, which
results in STATS_DIRECTORIES being redefined and
an annoying warning. This patch skips loading
statistics.rake from tasks.rb if rake's current
scope isn't empty, i.e. if we are running from
inside an engine and not the test app dir or a
normal app.
Fixes#20510.
Taken from @Sonopa's commits on PR #19091.
Add support for dev caching via "rails s" flags.
Implement suggestions from @kaspth.
Remove temporary cache file if server does not have flags.
Break at 80 characters in railties/CHANGELOG.md
Remove ability to disable cache based on server options.
Add more comprehensive options: --dev-caching / --no-dev-caching
Permanently setting $VERBOSE to nil causes unwanted side effects (warnings generated by app code are
silenced when triggered by a rake task but visible otherwise). silence_warnings {} would be safer to
use here since it resets $VERBOSE back to what it was when the block finishes.
This makes "sprockets/railtie" explicit. This means that sprockets will
be loaded when you require "rails/all". If you are not using requiring
"rails/all", you need to manually load it with all other framework
railties.
In order to be complete, this commit also adds --skip-sprockets to
the rails generator.