return nil
}
+ levelOrig := Level
+ defer func() {
+ Level = levelOrig
+ }()
+ Level = 1
trace(CDebug, "building %d alwayses: %v", len(seen), seen)
errs := make(chan error, len(seen))
for tgt, _ := range seen {
- if err := runScript(tgt, errs); err != nil {
+ if err := runScript(tgt, errs, false); err != nil {
trace(CErr, "always run error: %s, skipping dependants", err)
return nil
}
if len(queueSrc) == 0 {
return seen
}
- levelOrig := Level
- defer func() {
- Level = levelOrig
- }()
- Level = 1
RebuildDeps:
trace(CDebug, "checking %d dependant targets: %v", len(queueSrc), queueSrc)
if !ood {
continue
}
- if err := runScript(tgt, errs); err != nil {
+ if err := runScript(tgt, errs, false); err != nil {
trace(CErr, "dependant error: %s, skipping dependants", err)
return nil
}
goto RebuildDeps
}
-func ifchange(tgts []string, forced bool) (bool, error) {
+func ifchange(tgts []string, forced, traced bool) (bool, error) {
jsInit()
defer jsAcquire("ifchange exiting")
defer Jobs.Wait()
trace(CDebug, "%s is source, not redoing", tgt)
continue
}
- if err = runScript(tgt, errs); err != nil {
+ if err = runScript(tgt, errs, traced); err != nil {
return false, err
}
jobs++