) []string {
cwd, tgt := cwdAndTgt(path.Join(cwd, tgtOrig))
depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
) []string {
cwd, tgt := cwdAndTgt(path.Join(cwd, tgtOrig))
depPath := path.Join(cwd, RedoDir, tgt+DepSuffix)
- alwayses = append(alwayses, collectDeps(cwd, dep, level+1, deps)...)
+ alwayses = append(
+ alwayses,
+ collectDeps(cwd, dep, level+1, deps, includeSrc)...,
+ )
seen := map[string]struct{}{}
deps := map[string]map[string]struct{}{}
for _, tgtInitial := range tgts {
seen := map[string]struct{}{}
deps := map[string]map[string]struct{}{}
for _, tgtInitial := range tgts {
- for _, tgt := range collectDeps(Cwd, tgtInitial, 0, deps) {
+ for _, tgt := range collectDeps(Cwd, tgtInitial, 0, deps, false) {
- ood, err := isOOD(Cwd, tgt, 0, seen)
+ ood, err := isOODWithTrace(Cwd, tgt, 0, seen)
if err != nil {
trace(CErr, "dependant error: %s, skipping dependants", err)
return nil
if err != nil {
trace(CErr, "dependant error: %s, skipping dependants", err)
return nil
func ifchange(tgts []string, forced, traced bool) (bool, error) {
jsInit()
func ifchange(tgts []string, forced, traced bool) (bool, error) {
jsInit()
trace(CDebug, "building %d targets: %v", len(tgts), tgts)
jobs := 0
errs := make(chan error, len(tgts))
trace(CDebug, "building %d targets: %v", len(tgts), tgts)
jobs := 0
errs := make(chan error, len(tgts))
- ood, err = isOOD(Cwd, tgt, 0, seen)
+ ood, err = isOODWithTrace(Cwd, tgt, 0, seen)