Lines Matching refs:ex
46 func (ex *Executor) makeJobs(n *DepNode, neededBy *job) error {
47 output, _ := ex.ctx.vpaths.exists(n.Output)
52 ex.buildCnt++
53 if ex.buildCnt%100 == 0 {
54 ex.reportStats()
57 j, present := ex.done[output]
70 ex.wm.ReportNewDep(j, neededBy)
78 ex: ex,
86 ex.done[output] = nil
95 if _, ok := ex.ctx.vpaths.exists(d.Output); ok {
104 ex.trace = append(ex.trace, d.Output)
105 err := ex.makeJobs(d, j)
106 ex.trace = ex.trace[0 : len(ex.trace)-1]
112 ex.done[output] = j
113 return ex.wm.PostJob(j)
116 func (ex *Executor) reportStats() {
122 ex.buildCnt, ex.alreadyDoneCnt, ex.noRuleCnt, ex.upToDateCnt, ex.runCommandCnt)
123 if len(ex.trace) > 1 {
124 logStats("trace=%q", ex.trace)
145 ex := &Executor{
151 return ex, nil
155 func (ex *Executor) Exec(g *DepGraph, targets []string) error {
156 ex.ctx = newExecContext(g.vars, g.vpaths, false)
161 v, err := ex.ctx.ev.EvaluateVar(name)
190 err := ex.makeJobs(root, nil)
195 n, err := ex.wm.Wait()