-func isOOD(cwd, tgt string, level int) (bool, error) {
- tgtOrig := tgt
- indent := strings.Repeat(". ", level)
- trace(CDebug, "ood: %s%s checking", indent, tgtOrig)
- cwd, tgt = cwdAndTgt(path.Join(cwd, tgt))
- depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
- fdDep, err := os.Open(depPath)
- if err != nil {
- trace(CDebug, "ood: %s%s -> no dep: %s", indent, tgtOrig, depPath)
- return true, nil
- }
- defer fdDep.Close()
- ood := false
-
- builtNow, r, err := isBuiltNow(fdDep)
- if err != nil {
- return true, TgtErr{tgtOrig, err}
- }
- if builtNow {
- trace(CDebug, "ood: %s%s -> already built", indent, tgtOrig)
+ if dep.build == BuildUUID {
+ tracef(CDebug, "ood: %s%s -> already built", indent, tgt)
+ OODCache[tgt.rel] = false