Thomas Sawyer wrote:
> On Sep 10, 7:59am, Jim Weirich <j... / weirichhouse.org> wrote:
>> in that order. However, that doesn't provide any guarantees that they
>> (its just more likely that the drake will make this kind of bug
>> manifest).
> 
> Ah, so by design you consider it a bug. You could have fixed that from
> day one by randomizing the order of the prerequisites. Now you have a
> situation where many Rakefiles depend on that bug. So, why not turn
> lemons into lemonade, and make this bug a feature?

I'm not sure what you are advocating here:

(1) Guarantee that rake will invoke the prerequisites in the defined 
order? ... we already do that (for standard non-tasking rake).

(2) Guarantee that rake will execute the prerequisites in the defined 
order?  ... Can't do that, prerequisite constraints elsewhere may 
constrain the execution to be a different order.

(3) Declare that I don't mind if you make unwarranted assumptions about 
execution order? ... Well, as long as you don't file bug reports, I'm ok 
with that.

More clarification on Rake terminology:

To execute a task means to execute any code blocks attached to the task 
(i.e. the do/end part of a task).

To invoke a task means to make sure all the prerequisites for the task 
have been invoked and then execute the task if it has not yet been 
executed.  A task invocation will not execute the task if it has already 
been executed.

In standard rake, the order of dependencies only specifies the 
invocation order, not the execution order.  You never were able to 
directly control execution order of tasks via the order of the 
dependency list.

In moving to drake, what you lose is direct control over invocation 
order.  You never had direct control of execution order.

-- Jim Weirich
-- 
Posted via http://www.ruby-forum.com/.