aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorErsin Akinci <ersin.akinci@gmail.com>2015-07-24 16:51:10 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-06 17:34:29 -0300
commit38f28f77049e7160491b71167471a2175253b742 (patch)
treee3d5caa379e9ce92a5719e315da9babcc85e0c77 /railties
parentce1bd47698d63119d8a922620d1ae1c30c9ba2db (diff)
downloadrails-38f28f77049e7160491b71167471a2175253b742.tar.gz
rails-38f28f77049e7160491b71167471a2175253b742.tar.bz2
rails-38f28f77049e7160491b71167471a2175253b742.zip
Only load statistics.rake once from inside engine
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.
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG.md9
-rw-r--r--railties/lib/rails/tasks.rb5
2 files changed, 11 insertions, 3 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index 642fd90ae1..734fe8bc7a 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,4 +1,11 @@
-* Make enabling or disabling caching in development mode possible with
+* Fix STATS_DIRECTORIES already defined warning when running rake from within
+ the top level directory of an engine that has a test app.
+
+ Fixes #20510
+
+ *Ersin Akinci*
+
+* Make enabling or disabling caching in development mode possible with
rake dev:cache.
Running rake dev:cache will create or remove tmp/caching-dev.txt. When this
diff --git a/railties/lib/rails/tasks.rb b/railties/lib/rails/tasks.rb
index c029dbcf82..d3e33584d7 100644
--- a/railties/lib/rails/tasks.rb
+++ b/railties/lib/rails/tasks.rb
@@ -11,8 +11,9 @@ require 'rake'
misc
restart
routes
- statistics
tmp
-).each do |task|
+).tap { |arr|
+ arr << 'statistics' if Rake.application.current_scope.empty?
+}.each do |task|
load "rails/tasks/#{task}.rake"
end