Module: Rake::Parallel::TaskMixin
- Defined in:
- lib/rake/parallel.rb
Instance Method Summary collapse
-
#collect_for_parallel_execution(task_args, new_chain, previous_chain) ⇒ Object
Collect tasks for parallel execution.
-
#invoke_parallel(*task_args) ⇒ Object
Top-level parallel invocation.
Instance Method Details
#collect_for_parallel_execution(task_args, new_chain, previous_chain) ⇒ Object
Collect tasks for parallel execution.
Called from Task#invoke_with_call_chain.
108 109 110 111 112 113 114 115 116 117 |
# 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) ⇒ Object
Top-level parallel invocation.
Called from Task#invoke.
98 99 100 101 |
# File 'lib/rake/parallel.rb', line 98 def invoke_parallel(*task_args) application.parallel. invoke(application..threads, self, *task_args) end |