module Rake::DSL

def task(*args, &block) # :doc:

:doc:

$ rake package[1.2.3]

To invoke this task from the command line:

end
# ...
task :package, [:version] => :test do |t, args|

A task with an argument and a dependency:

end
rm_rf "html"
task clobber: %w[clean] do

A task with a single dependency:

strings.
The task, argument and dependency names may be either symbols or

the arguments provided to the task.
The +argument+ (a single name) or +arguments+ (an Array of names) define
The +dependencies+ may be a single task name or an Array of task names.

the task name contains a ":" it is defined in that namespace.
Declare a basic task. The +task_name+ is always the first argument. If

task(task_name, arguments => dependencies)
task(task_name: dependencies)
task(task_name)
:call-seq:
def task(*args, &block) # :doc:
  Rake::Task.define_task(*args, &block)
end