Esempio n. 1
0
        private void PopulateExecutionGraph(string root, TargetCollection targets, ExecutionGraph graph)
        {
            Target target = targets.Find(root);

            ExecutionNode node = graph.GetNode(root);

            if (target == null) {
                target = targets.Find(WildTarget);
            }

            bool noDependencies = true;
            foreach (string dependencyName in target.Dependencies) {
                PopulateExecutionGraph(dependencyName, targets, graph);

                ExecutionNode dependencyNode = graph.GetNode(dependencyName);
                dependencyNode.RegisterDependantNode(node);
                noDependencies = false;
            }

            if (noDependencies) {
                graph.RegisterLeafNode(node);
            }
        }