From 84fac2072018b8fa851b4ac6917c38c54fbaf74e Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Thu, 26 May 2011 00:15:23 +0900 Subject: [PATCH 1/2] require 'rake/rdoctask' if failed to require 'rdoc/task' fixes a regression introduced by b921679d0dd3d5ca16f0362c2b34e7703cfe15e5 require 'rdoc/task' fails if the system RDoc version is below 2.4.2 (e.g. CRuby 1.8.7) --- Rakefile | 7 ++++++- .../rails/generators/rails/plugin_new/templates/Rakefile | 7 +++++-- railties/lib/rails/tasks/documentation.rake | 6 +++++- railties/test/railties/railtie_test.rb | 7 ++++++- railties/test/railties/shared_tests.rb | 6 +++++- 5 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Rakefile b/Rakefile index 92b2e77963..70276fea78 100755 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,11 @@ #!/usr/bin/env rake -require 'rdoc/task' + +begin + require 'rdoc/task' +rescue LoadError + require 'rake/rdoctask' +end require 'net/http' $:.unshift File.expand_path('..', __FILE__) diff --git a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile index 1bf9c8c831..0e4c712acb 100755 --- a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile +++ b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile @@ -4,8 +4,11 @@ begin rescue LoadError puts 'You must `gem install bundler` and `bundle install` to run rake tasks' end - -require 'rdoc/task' +begin + require 'rdoc/task' +rescue LoadError + require 'rake/rdoctask' +end RDoc::Task.new(:rdoc) do |rdoc| rdoc.rdoc_dir = 'rdoc' diff --git a/railties/lib/rails/tasks/documentation.rake b/railties/lib/rails/tasks/documentation.rake index c8b4040151..59305322b7 100644 --- a/railties/lib/rails/tasks/documentation.rake +++ b/railties/lib/rails/tasks/documentation.rake @@ -1,4 +1,8 @@ -require 'rdoc/task' +begin + require 'rdoc/task' +rescue LoadError + require 'rake/rdoctask' +end # Monkey-patch to remove redoc'ing and clobber descriptions to cut down on rake -T noise class RDocTaskWithoutDescriptions < RDoc::Task diff --git a/railties/test/railties/railtie_test.rb b/railties/test/railties/railtie_test.rb index 18fdf59fe3..4b94942e1f 100644 --- a/railties/test/railties/railtie_test.rb +++ b/railties/test/railties/railtie_test.rb @@ -97,7 +97,12 @@ module RailtiesTest assert !$ran_block require 'rake' require 'rake/testtask' - require 'rdoc/task' + begin + require 'rdoc/task' + rescue LoadError + require 'rake/rdoctask' + end + AppTemplate::Application.load_tasks assert $ran_block diff --git a/railties/test/railties/shared_tests.rb b/railties/test/railties/shared_tests.rb index 659551d08a..fdeddcf659 100644 --- a/railties/test/railties/shared_tests.rb +++ b/railties/test/railties/shared_tests.rb @@ -237,7 +237,11 @@ module RailtiesTest boot_rails require 'rake' - require 'rdoc/task' + begin + require 'rdoc/task' + rescue LoadError + require 'rake/rdoctask' + end require 'rake/testtask' Rails.application.load_tasks Rake::Task[:foo].invoke From f3fa66f1ff8302fb2b5316931d20292abff6d7e8 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Thu, 26 May 2011 01:37:34 +0900 Subject: [PATCH 2/2] Ensure RDoc::Task exists even if 'rdoc/task' was not required --- Rakefile | 7 +------ .../rails/generators/rails/plugin_new/templates/Rakefile | 2 ++ railties/lib/rails/tasks/documentation.rake | 2 ++ railties/test/railties/railtie_test.rb | 7 +------ railties/test/railties/shared_tests.rb | 6 +----- 5 files changed, 7 insertions(+), 17 deletions(-) diff --git a/Rakefile b/Rakefile index 70276fea78..92b2e77963 100755 --- a/Rakefile +++ b/Rakefile @@ -1,11 +1,6 @@ #!/usr/bin/env rake - -begin - require 'rdoc/task' -rescue LoadError - require 'rake/rdoctask' -end +require 'rdoc/task' require 'net/http' $:.unshift File.expand_path('..', __FILE__) diff --git a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile index 0e4c712acb..b28a842731 100755 --- a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile +++ b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile @@ -7,7 +7,9 @@ end begin require 'rdoc/task' rescue LoadError + require 'rdoc/rdoc' require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask end RDoc::Task.new(:rdoc) do |rdoc| diff --git a/railties/lib/rails/tasks/documentation.rake b/railties/lib/rails/tasks/documentation.rake index 59305322b7..79255d1f56 100644 --- a/railties/lib/rails/tasks/documentation.rake +++ b/railties/lib/rails/tasks/documentation.rake @@ -1,7 +1,9 @@ begin require 'rdoc/task' rescue LoadError + require 'rdoc/rdoc' require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask end # Monkey-patch to remove redoc'ing and clobber descriptions to cut down on rake -T noise diff --git a/railties/test/railties/railtie_test.rb b/railties/test/railties/railtie_test.rb index 4b94942e1f..18fdf59fe3 100644 --- a/railties/test/railties/railtie_test.rb +++ b/railties/test/railties/railtie_test.rb @@ -97,12 +97,7 @@ module RailtiesTest assert !$ran_block require 'rake' require 'rake/testtask' - begin - require 'rdoc/task' - rescue LoadError - require 'rake/rdoctask' - end - + require 'rdoc/task' AppTemplate::Application.load_tasks assert $ran_block diff --git a/railties/test/railties/shared_tests.rb b/railties/test/railties/shared_tests.rb index fdeddcf659..659551d08a 100644 --- a/railties/test/railties/shared_tests.rb +++ b/railties/test/railties/shared_tests.rb @@ -237,11 +237,7 @@ module RailtiesTest boot_rails require 'rake' - begin - require 'rdoc/task' - rescue LoadError - require 'rake/rdoctask' - end + require 'rdoc/task' require 'rake/testtask' Rails.application.load_tasks Rake::Task[:foo].invoke