From 9de5e62952a94a317bb17387b90966b540c763eb Mon Sep 17 00:00:00 2001 From: Sam Pohlenz Date: Mon, 28 Dec 2009 08:48:07 +1030 Subject: [PATCH] Make plugins responsible for loading their own rake tasks --- railties/lib/rails/application.rb | 2 +- railties/lib/rails/plugin.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index ebb16eb..159a9b3 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -72,7 +72,7 @@ module Rails def load_tasks require "rails/tasks" - Dir["#{root}/vendor/plugins/*/**/tasks/**/*.rake"].sort.each { |ext| load ext } + plugins.each { |p| p.load_tasks } Dir["#{root}/lib/tasks/**/*.rake"].sort.each { |ext| load ext } task :environment do $rails_rake_task = true diff --git a/railties/lib/rails/plugin.rb b/railties/lib/rails/plugin.rb index 0699aff..b631793 100644 --- a/railties/lib/rails/plugin.rb +++ b/railties/lib/rails/plugin.rb @@ -25,6 +25,9 @@ module Rails Configuration.default end + def load_tasks + end + class Vendored < Plugin def self.all(list, paths) plugins = [] @@ -52,6 +55,10 @@ module Rails Dir["#{path}/{lib}", "#{path}/app/{models,controllers,helpers}"] end + def load_tasks + Dir["#{path}/**/tasks/**/*.rake"].sort.each { |ext| load ext } + end + initializer :add_to_load_path, :after => :set_autoload_paths do |app| load_paths.each do |path| $LOAD_PATH << path -- 1.6.5.7