task :my_before_hook, [:name] => :environment do |_t, args|
puts "Rake task #{args[:name]} started"
end
task :my_after_hook, [:name] => :environment do |_t, args|
puts "Rake task #{args[:name]} finished"
end
task :my_test_task => :environment do
puts '--------- This is test task'
end
Rake.application.tasks.each do |tsk|
next if [Rake::Task['my_before_hook'],
Rake::Task['my_after_hook']].include?(tsk)
tsk.enhance ['my_before_hook'] # I can't send any params with such code
tsk.enhance do
Rake::Task['my_after_hook'].invoke(tsk.name)
end
end
I need before and after hooks for all rake tasks.
Is there any way to send params to prerequisite?