def task(*args, &block)
task_name, arg_names, deps = Buildr.application.resolve_args(args)
if task_name =~ /^:/
task = Buildr.application.switch_to_namespace [] do
Rake::Task.define_task(task_name[1..-1])
end
elsif Buildr.application.current_scope == name.split(':')
task = Rake::Task.define_task(task_name)
else
unless task = Buildr.application.lookup(task_name, name.split(':'))
raise "You cannot define a project task outside the project definition, and no task #{name}:#{task_name} defined in the project"
end
end
task.set_arg_names(arg_names) unless arg_names.empty?
task.enhance Array(deps), &block
end