Commit 9109bcc45223244cc1c20938b67756610b45abf5

Authored by Rafael Martins
1 parent db412c13

Add missing support file for override_task

Showing 1 changed file with 18 additions and 0 deletions   Show diff stats
lib/tasks/01_support.rake 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +# from http://metaskills.net/2010/05/26/the-alias_method_chain-of-rake-override-rake-task/
  2 +Rake::TaskManager.class_eval do
  3 + def alias_task(fq_name)
  4 + new_name = "#{fq_name}:original"
  5 + @tasks[new_name] = @tasks.delete(fq_name)
  6 + end
  7 +end
  8 +
  9 +def alias_task(fq_name)
  10 + Rake.application.alias_task(fq_name)
  11 +end
  12 +
  13 +def override_task(*args, &block)
  14 + name, params, deps = Rake.application.resolve_args(args.dup)
  15 + fq_name = Rake.application.instance_variable_get(:@scope).dup.push(name).join(':')
  16 + alias_task(fq_name)
  17 + Rake::Task.define_task(*args, &block)
  18 +end
... ...