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, line 108
def collect_for_parallel_execution(task_args, new_chain, previous_chain)
  # call Task#invoke_prerequisites directly (avoid overrides)
  prereqs = Task.instance_method(:invoke_prerequisites).
    bind(self).call(task_args, new_chain)

  tasks = application.parallel.tasks
  if needed? or prereqs.any? { |p| tasks[p] }
    tasks[self] = [task_args, prereqs]
  end
end
invoke_parallel(*task_args) click to toggle source

Top-level parallel invocation.

Called from Rake::Task#invoke.

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