package main
import (
- "os"
"path"
"strings"
)
return nil
}
depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
- fdDep, err := os.Open(depPath)
- if err != nil {
- return nil
- }
- depInfo, err := depRead(fdDep)
- fdDep.Close()
+ depInfo, err := depRead(depPath)
if err != nil {
return nil
}
+ // DepInfoCache[depPath] = depInfo
seen[tgtFull] = struct{}{}
var alwayses []string
returnReady := false
returnReady = true
}
}
- for _, m := range depInfo.ifchanges {
- dep := m["Target"]
- if dep == "" {
+ for _, dep := range depInfo.ifchanges {
+ if dep.tgt == "" {
return alwayses
}
- if dep == tgt {
+ if dep.tgt == tgt {
continue
}
- if !includeSrc && isSrc(cwd, dep) {
+ if !includeSrc && isSrc(cwd, dep.tgt) {
continue
}
if !returnReady {
- depRel := cwdMustRel(cwd, dep)
+ depRel := cwdMustRel(cwd, dep.tgt)
if m, ok := deps[depRel]; ok {
m[tgtRel] = struct{}{}
} else {
deps[depRel] = m
}
alwayses = append(alwayses,
- collectDeps(cwd, dep, level+1, deps, includeSrc, seen)...)
+ collectDeps(cwd, dep.tgt, level+1, deps, includeSrc, seen)...)
}
}
return alwayses