From 561c213a92ce6fb510e6c31a9e20c49d40dabf37 Mon Sep 17 00:00:00 2001 From: Sascha Andres Date: Sun, 5 Mar 2017 10:15:49 +0100 Subject: [PATCH] Running deps first --- task.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/task.go b/task.go index 7e2ade46..09a15fbd 100644 --- a/task.go +++ b/task.go @@ -2,6 +2,7 @@ package task import ( "encoding/json" + "fmt" "io/ioutil" "log" "os" @@ -83,21 +84,22 @@ func RunTask(name string) error { return &taskNotFoundError{name} } - if !Force && isTaskUpToDate(t) { - log.Printf(`task: Task "%s" is up to date`, name) - return nil - } vars, err := t.handleVariables() if err != nil { return &taskRunError{name, err} } - + for _, d := range t.Deps { if err := RunTask(ReplaceVariables(d, vars)); err != nil { return err } } - + + if !Force && isTaskUpToDate(t) { + log.Printf(`task: Task "%s" is up to date`, name) + return nil + } + for _, c := range t.Cmds { // read in a each time, as a command could change a variable or it has been changed by a dependency vars, err = t.handleVariables()