From 09eab770a7a7f8f8dcf5752e35307ecedbb50b59 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Sun, 24 Jun 2018 10:29:46 -0300 Subject: [PATCH] Skip empty commands Fixes #120 --- task.go | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/task.go b/task.go index e2de4c62..f8805bd3 100644 --- a/task.go +++ b/task.go @@ -198,28 +198,31 @@ func (e *Executor) runDeps(ctx context.Context, t *taskfile.Task) error { func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfile.Call, i int) error { cmd := t.Cmds[i] - if cmd.Cmd == "" { + switch { + case cmd.Task != "": return e.RunTask(ctx, taskfile.Call{Task: cmd.Task, Vars: cmd.Vars}) + case cmd.Cmd != "": + if e.Verbose || (!cmd.Silent && !t.Silent && !e.Silent) { + e.Logger.Errf(cmd.Cmd) + } + + stdOut := e.Output.WrapWriter(e.Stdout, t.Prefix) + stdErr := e.Output.WrapWriter(e.Stderr, t.Prefix) + defer stdOut.Close() + defer stdErr.Close() + + return execext.RunCommand(&execext.RunCommandOptions{ + Context: ctx, + Command: cmd.Cmd, + Dir: t.Dir, + Env: getEnviron(t), + Stdin: e.Stdin, + Stdout: stdOut, + Stderr: stdErr, + }) + default: + return nil } - - if e.Verbose || (!cmd.Silent && !t.Silent && !e.Silent) { - e.Logger.Errf(cmd.Cmd) - } - - stdOut := e.Output.WrapWriter(e.Stdout, t.Prefix) - stdErr := e.Output.WrapWriter(e.Stderr, t.Prefix) - defer stdOut.Close() - defer stdErr.Close() - - return execext.RunCommand(&execext.RunCommandOptions{ - Context: ctx, - Command: cmd.Cmd, - Dir: t.Dir, - Env: getEnviron(t), - Stdin: e.Stdin, - Stdout: stdOut, - Stderr: stdErr, - }) } func getEnviron(t *taskfile.Task) []string {