module Rake::Parallel::TaskMixin

  1. lib/rake/parallel.rb
Parent: Parallel

Public Instance methods

invoke_parallel (*task_args)

Top-level parallel invocation.

Called from Task#invoke.

[show source]
     # File lib/rake/parallel.rb, line 98
 98:       def invoke_parallel(*task_args)
 99:         application.parallel.
100:           invoke(application.options.threads, self, *task_args)
101:       end
collect_for_parallel_execution (task_args, new_chain, previous_chain)

Collect tasks for parallel execution.

Called from Task#invoke_with_call_chain.

[show source]
     # File lib/rake/parallel.rb, line 108
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