Class: Rake::MultiTask

Inherits:
Task
  • Object
show all
Defined in:
lib/rake.rb

Overview

######################################################################### Same as a regular task, but the immediate prerequisites are done in parallel using Ruby threads.

Instance Attribute Summary

Attributes inherited from Task

#actions, #application, #comment, #full_comment, #prerequisites, #scope, #sources

Instance Method Summary collapse

Methods inherited from Task

[], #add_description, #arg_description, #arg_names, clear, #clear, #clear_actions, #clear_prerequisites, create_rule, define_task, #enhance, #execute, #initialize, #inspect, #investigation, #invoke, #name, #name_with_args, #needed?, #reenable, scope_name, #set_arg_names, #source, task_defined?, tasks, #timestamp, #to_s

Constructor Details

This class inherits a constructor from Rake::Task

Instance Method Details

#invoke_prerequisites(args, invocation_chain) ⇒ Object



809
810
811
812
813
814
# File 'lib/rake.rb', line 809

def invoke_prerequisites(args, invocation_chain)
  threads = @prerequisites.collect { |p|
    Thread.new(p) { |r| application[r].invoke_with_call_chain(args, invocation_chain) }
  }
  threads.each { |t| t.join }
end