On 29/01/13 07:44, Adam Murdoch wrote:
Implementation-wise, I would think about busting up building the task graph into 2 steps:

1. Build the task graph proper, with a node for each task in the graph and edges to represent the various types of dependencies.
2. Once the graph is built, calculate the execution plan:
- Take each node that has no incoming edges, sort them and then traverse each in turn.
- To traverse a node
- Take each soft dependency, sort them and traverse each in turn.
- Take each hard dependency, sort them and traverse each in turn.


I think I know what you mean here and have some ideas on how that could be built. I will take some time now to implement it and come back with code ready for a review.

Reply via email to