Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
// 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
}
Ejemplo n.º 3
0
func setNodeSigs(graph *dag.DAG, sig []byte) {
	for _, node := range graph.Nodes() {
		node.(*dag.StubNode).SetSignature(sig)
	}
}
Ejemplo n.º 4
0
func setNodeExists(graph *dag.DAG, exists bool) {
	for _, node := range graph.Nodes() {
		node.(*dag.StubNode).SetExists(exists)
	}
}