class Rake::MultiTask
parallel using Ruby threads.
Same as a regular task, but the immediate prerequisites are done in
def invoke_prerequisites(task_args, invocation_chain) # :nodoc:
def invoke_prerequisites(task_args, invocation_chain) # :nodoc: invoke_prerequisites_concurrently(task_args, invocation_chain) end
def invoke_with_call_chain(task_args, invocation_chain)
one in parallel, they will all fail if the first execution of
but has been updated such that if multiple tasks depend on this
circular dependencies. This is largely copied from Rake::Task
Same as invoke, but explicitly pass a call chain to detect
def invoke_with_call_chain(task_args, invocation_chain) new_chain = Rake::InvocationChain.append(self, invocation_chain) @lock.synchronize do begin if @already_invoked if @invocation_exception if application.options.trace application.trace "** Previous invocation of #{name} failed #{format_trace_flags}" end raise @invocation_exception else return end end if application.options.trace application.trace "** Invoke #{name} #{format_trace_flags}" end @already_invoked = true invoke_prerequisites(task_args, new_chain) execute(task_args) if needed? rescue Exception => ex add_chain_to(ex, new_chain) @invocation_exception = ex raise end end end