module Rake::Parallel::TaskMixin

Public Instance Methods

collect_for_parallel_execution(task_args, new_chain, previous_chain) click to toggle source

Collect tasks for parallel execution.

Called from Task#invoke_with_call_chain.

    # File lib/rake/parallel.rb
108 def collect_for_parallel_execution(task_args, new_chain, previous_chain)
109   # call Task#invoke_prerequisites directly (avoid overrides)
110   prereqs = Task.instance_method(:invoke_prerequisites).
111     bind(self).call(task_args, new_chain)
112 
113   tasks = application.parallel.tasks
114   if needed? or prereqs.any? { |p| tasks[p] }
115     tasks[self] = [task_args, prereqs]
116   end
117 end
invoke_parallel(*task_args) click to toggle source

Top-level parallel invocation.

Called from Task#invoke.

    # File lib/rake/parallel.rb
 98 def invoke_parallel(*task_args)
 99   application.parallel.
100     invoke(application.options.threads, self, *task_args)
101 end