I made a patch in my branch to make these the same. The test-suite runs to 
completion, but I'm still wary of it since I don't know if there are good 
reasons for them to be different :)

 
https://github.com/michaeljbishop/rake/commit/ca283160b610c95e1f28cf561af8811fd37d10c3

_ michael


On Nov 21, 2012, at 12:08 PM, Jim Weirich <[email protected]> wrote:

> 
> On Nov 21, 2012, at 2:36 PM, Michael Bishop <[email protected]> wrote:
> 
>> Hello everyone,
>> 
>> I've been looking at something that has been confusing me for a while. It 
>> appears that MultiTask and Task send different arguments to their 
>> prerequisites and I can't figure out the reason why. I'm hoping someone on 
>> the list will know right away.
>> 
>> I've looked and the code for each case and expanded it and they are 
>> basically identical except for this last remaining functional difference 
>> between the two:
>> 
>> TASK
>> 
>> @prerequisites.collect { |p|
>>  prereq = lookup_prerequisite(p) # returns a task
>>  prereq_args = args.new_scope(prereq.arg_names)
>>  prereq.invoke_with_call_chain(prereq_args, invocation_chain)
>> }
>> 
>> MULTITASK
>> 
>> @prerequisites.collect do |p|
>>  prereq = lookup_prerequisite(p) # returns a task
>>  prereq.invoke_with_call_chain(args, invocation_chain)
>> end
>> 
>> 
>> Why the extra 
>> 
>>  prereq_args = args.new_scope(prereq.arg_names)
>> 
>> in the TASK case? How does its absence affect MultiTask argument processing? 
>> Shouldn't they be the same?
> 
> I have no memory of why task has it and multitask doesn't. I'll have to 
> research this and refresh my memory on the whole task arguments 
> implementation before being able to answer.
> 
> Stubbing out new_scope to just return the original arguments does cause a 
> test to fail, so evidently its good for something.  I suspect that multitask 
> just didn't get updated when the new_scope was introduced.
> 
> -- 
> -- Jim Weirich
> -- [email protected]
> 
> 
> 
> 
> 
> _______________________________________________
> Rake-devel mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rake-devel

_______________________________________________
Rake-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rake-devel

Reply via email to