[Rake-devel] Why do MultiTask and Task send different args to their prerequisites?

Michael Bishop mbishop at me.com
Wed Nov 21 18:18:31 UTC 2012


Done. Thanks for the explanation of the code.

_ michael


On Nov 21, 2012, at 12:58 PM, Jim Weirich <jim.weirich at gmail.com> wrote:

> 
> On Nov 22, 2012, at 4:33 AM, Michael Bishop <mbishop at me.com> wrote:
> 
>> 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=
> 
> I like the commit.  It makes the concurrent path look much more like the non-concurrent one.
> 
> The new_scope is making a task argument object that is tailored for each task.  For example: if task a with args x and y call prerequisite b with argument x, then task a gets an argument list with "x" and "y" in it and task b gets an argument list with just "x" (and initialized to the value of the the "x" from task a).
> 
> The weird thing is that trying to lookup y will still work because of the parent link in the task args.  I'm not sure I like the parent link idea, but that's another issue for another time.
> 
> So yes, the multitask path should also invoke new_scope.
> 
> If you make this a pull request, I'll merge it.
> 
> -- 
> -- Jim Weirich
> -- jim.weirich at gmail.com
> 
> 
> 
> 
> 
> _______________________________________________
> Rake-devel mailing list
> Rake-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rake-devel



More information about the Rake-devel mailing list