I'm new to Rake and using it to build .net projects. What I'm interested in is having a Summary task that prints out a summary of what has been done. I want this task to always be called, no matter what tasks rake was invoked with.
Is there an easy way to accomplish this?
task :test1 do
task :test2 do
Rake::Task.tasks.each do |t|
<Insert rake magic here>
# t.enhance do
# puts 'after'
$ rake test1
$rake test1 test2
task :test3 =>[:test1, :test2]
Posting this as a new answer to keep the other one available. This is much less elegant as I have to get into the guts of Rake and manually update the task list, but it works.
task :test1 do puts 'test1' end task :test2 do puts 'test2' end task :after do puts 'after' end # top_level_tasks is't writable so we need to do this ugly # instance_variable_set hack... current_tasks = Rake.application.top_level_tasks current_tasks << :after Rake.application.instance_variable_set(:@top_level_tasks, current_tasks)
$ rake test1 test1 after $ rake test1 test2 test1 test2 after