Project

General

Profile

Actions

Bug #16529

closed

Require rake/tasktask file when used in Rake test definitions

Added by Dominic Cleal over 8 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Rake tasks
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Under Rails 5, the existing rake task definition files fail to load as the Rake::TaskTask helper isn't available by default:

$ rails foo
rails aborted!
NameError: uninitialized constant Rake::TestTask
/home/dcleal/code/foreman/foreman/lib/tasks/test.rake:3:in `block in <top (required)>'
/home/dcleal/code/foreman/foreman/lib/tasks/test.rake:1:in `<top (required)>'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/engine.rb:654:in `block in run_tasks_blocks'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/engine.rb:654:in `each'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/engine.rb:654:in `run_tasks_blocks'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/application.rb:443:in `run_tasks_blocks'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/engine.rb:457:in `load_tasks'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/railtie.rb:193:in `public_send'
/home/dcleal/.rvm/gems/ruby-2.3.0@foreman/gems/railties-5.0.0/lib/rails/railtie.rb:193:in `method_missing'
/home/dcleal/code/foreman/foreman/Rakefile:7:in `<top (required)>'

The Rails file that required it originally has had the require removed (https://github.com/rails/rails/commit/8017e6a) as Rails now uses its own helpers. Since Foreman defines additional tasks using Rake, we need to require the file that contains the setup helper we're calling.

Actions

Also available in: Atom PDF