 coffee:   require 'coffee-script'
 
 tasks: {}
+
+no_such_task: (task) ->
+  process.stdio.writeError('No such task: "' + task + '"\n')
+  process.exit(1)
 
 # Mixin the Cake functionality.
 process.mixin {


  # Invoke another task in the Cakefile.
  invoke: (name) ->
    tasks[name].action()
}


      eval coffee.compile source
      return print_tasks() unless args.length
      for arg in args
        no_such_task arg unless tasks[arg]
        tasks[arg].action()

