X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=ifchange.go;h=43cfdb3e387e12474aec2034b719a8046ab6e6be;hb=2cea0c64b5a0240bfe6746a98a5b350812edb96d;hp=3a0ebf395211943178ea72d5442a71c4e6bd6408;hpb=d830f32d30e4ea9d9f06ae835db6ec5c4822dcfc;p=goredo.git diff --git a/ifchange.go b/ifchange.go index 3a0ebf3..43cfdb3 100644 --- a/ifchange.go +++ b/ifchange.go @@ -45,13 +45,13 @@ func collectDeps( tgtRel := cwdMustRel(cwd, tgt) if depInfo.always { if depInfo.build == BuildUUID { - trace( + tracef( CDebug, "ood: %s%s always, but already build", strings.Repeat(". ", level), tgtOrig, ) returnReady = true } else { - trace(CDebug, "ood: %s%s always", strings.Repeat(". ", level), tgtOrig) + tracef(CDebug, "ood: %s%s always", strings.Repeat(". ", level), tgtOrig) alwayses = append(alwayses, tgtRel) returnReady = true } @@ -87,7 +87,7 @@ func collectDeps( func buildDependants(tgts []string) map[string]struct{} { defer Jobs.Wait() - trace(CDebug, "collecting deps") + tracef(CDebug, "collecting deps") seen := map[string]struct{}{} deps := map[string]map[string]struct{}{} for _, tgtInitial := range tgts { @@ -106,22 +106,22 @@ func buildDependants(tgts []string) map[string]struct{} { Level = levelOrig }() Level = 1 - trace(CDebug, "building %d alwayses: %v", len(seen), seen) + tracef(CDebug, "building %d alwayses: %v", len(seen), seen) errs := make(chan error, len(seen)) for tgt := range seen { if err := runScript(tgt, errs, false); err != nil { - trace(CErr, "always run error: %s, skipping dependants", err) + tracef(CErr, "always run error: %s, skipping dependants", err) return nil } } ok := true for i := 0; i < len(seen); i++ { - ok = ok && isOkRun(<-errs) + ok = isOkRun(<-errs) && ok } Jobs.Wait() close(errs) if !ok { - trace(CDebug, "alwayses failed, skipping dependants") + tracef(CDebug, "alwayses failed, skipping dependants") return nil } @@ -134,28 +134,28 @@ func buildDependants(tgts []string) map[string]struct{} { } RebuildDeps: - trace(CDebug, "checking %d dependant targets: %v", len(queueSrc), queueSrc) + tracef(CDebug, "checking %d dependant targets: %v", len(queueSrc), queueSrc) queue := []string{} for _, tgt := range queueSrc { for dep := range deps[tgt] { queue = append(queue, dep) } } - trace(CDebug, "building %d dependant targets: %v", len(queue), queue) + tracef(CDebug, "building %d dependant targets: %v", len(queue), queue) errs = make(chan error, len(queue)) jobs := 0 queueSrc = []string{} for _, tgt := range queue { ood, err := isOODWithTrace(Cwd, tgt, 0, seen) if err != nil { - trace(CErr, "dependant error: %s, skipping dependants", err) + tracef(CErr, "dependant error: %s, skipping dependants", err) return nil } if !ood { continue } if err := runScript(tgt, errs, false); err != nil { - trace(CErr, "dependant error: %s, skipping dependants", err) + tracef(CErr, "dependant error: %s, skipping dependants", err) return nil } queueSrc = append(queueSrc, tgt) @@ -163,10 +163,10 @@ RebuildDeps: jobs++ } for i := 0; i < jobs; i++ { - ok = ok && isOkRun(<-errs) + ok = isOkRun(<-errs) && ok } if !ok { - trace(CDebug, "dependants failed, skipping them") + tracef(CDebug, "dependants failed, skipping them") return nil } Jobs.Wait() @@ -186,14 +186,14 @@ func ifchange(tgts []string, forced, traced bool) (bool, error) { defer Jobs.Wait() seen := buildDependants(tgts) oodTgtsClear() - trace(CDebug, "building %d targets: %v", len(tgts), tgts) + tracef(CDebug, "building %d targets: %v", len(tgts), tgts) jobs := 0 errs := make(chan error, len(tgts)) var ood bool var err error for _, tgt := range tgts { if _, ok := seen[tgt]; ok { - trace(CDebug, "%s was already build as a dependant", tgt) + tracef(CDebug, "%s was already build as a dependant", tgt) continue } ood = true @@ -207,7 +207,7 @@ func ifchange(tgts []string, forced, traced bool) (bool, error) { continue } if isSrc(Cwd, tgt) { - trace(CDebug, "%s is source, not redoing", tgt) + tracef(CDebug, "%s is source, not redoing", tgt) continue } if err = runScript(tgt, errs, traced); err != nil { @@ -217,7 +217,7 @@ func ifchange(tgts []string, forced, traced bool) (bool, error) { } ok := true for ; jobs > 0; jobs-- { - ok = ok && isOkRun(<-errs) + ok = isOkRun(<-errs) && ok } return ok, nil }