# File lib/buildr/shell.rb, line 38 def define_task(project, name, provider = nil) ShellTask.define_task(name).tap do |t| t.send(:associate_with, project) t.enhance([project.compile]) do |t| # double-enhance to execute the provider last t.enhance { |t| t.run } end t.using provider.to_sym if provider end end