summaryrefslogtreecommitdiff
path: root/lib/rake/task.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rake/task.rb')
-rw-r--r--lib/rake/task.rb15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/rake/task.rb b/lib/rake/task.rb
index afa1b6153d..ac0ce68c60 100644
--- a/lib/rake/task.rb
+++ b/lib/rake/task.rb
@@ -105,7 +105,7 @@ module Rake
# Argument description (nil if none).
def arg_description # :nodoc:
- @arg_names ? "[#{(arg_names || []).join(',')}]" : nil
+ @arg_names ? "[#{arg_names.join(',')}]" : nil
end
# Name of arguments for this task.
@@ -182,18 +182,19 @@ module Rake
if application.options.always_multitask
invoke_prerequisites_concurrently(task_args, invocation_chain)
else
- prerequisite_tasks.each { |prereq|
- prereq_args = task_args.new_scope(prereq.arg_names)
- prereq.invoke_with_call_chain(prereq_args, invocation_chain)
+ prerequisite_tasks.each { |p|
+ prereq_args = task_args.new_scope(p.arg_names)
+ p.invoke_with_call_chain(prereq_args, invocation_chain)
}
end
end
# Invoke all the prerequisites of a task in parallel.
- def invoke_prerequisites_concurrently(args, invocation_chain) # :nodoc:
- futures = @prerequisites.collect do |p|
+ def invoke_prerequisites_concurrently(task_args, invocation_chain) # :nodoc:
+ futures = prerequisite_tasks.collect do |p|
+ prereq_args = task_args.new_scope(p.arg_names)
application.thread_pool.future(p) do |r|
- application[r, @scope].invoke_with_call_chain(args, invocation_chain)
+ r.invoke_with_call_chain(prereq_args, invocation_chain)
end
end
futures.each { |f| f.value }