Navigate the node to determine dependencies. Circular references raise an
exception.
Shamelessly stolen algorithm from:
http://www.electricmonk.nl/log/2008/08/07/dependency-resolving-algorithm/
Definition at line 16 of file virtual_mixin.py.
18 Navigate the node to determine dependencies. Circular references raise an
21 Shamelessly stolen algorithm from:
22 http://www.electricmonk.nl/log/2008/08/07/dependency-resolving-algorithm/
24 if resolved
is None: resolved = []
25 if unresolved
is None: unresolved = []
26 unresolved.append(node)
27 for dependency
in node.dependencies:
28 if dependency
not in resolved:
29 if dependency
in unresolved:
30 raise Exception(
'Circular reference detected: %s -> %s'
31 % (node.name, dependency.name))
35 unresolved.remove(node)