func makeFakeDB(graph *dag.DAG, sig []byte) BuildDB { var bdb BuildDB = db.NewFakeDB() for _, node := range graph.Nodes() { record := db.NewBuildRecord() record.SetTargetSignature(sig) for _, parent := range graph.ParentNodes(node) { record.AddParent(parent.Name(), sig) } bdb.WriteNode(node.Name(), record) } return bdb }
// add a stub build rule to every target node, so we track when each // rule's Execute() method is called func addTrackingRules(graph *dag.DAG) *[]string { executed := []string{} callback := func(name string) { executed = append(executed, name) } for _, node := range graph.Nodes() { if graph.HasParents(node) { rule := dag.MakeStubRule(callback, node) node.SetBuildRule(rule) } } // need to return a pointer to the executed slice because // callback() modifies the slice return &executed }
func setNodeSigs(graph *dag.DAG, sig []byte) { for _, node := range graph.Nodes() { node.(*dag.StubNode).SetSignature(sig) } }
func setNodeExists(graph *dag.DAG, exists bool) { for _, node := range graph.Nodes() { node.(*dag.StubNode).SetExists(exists) } }