diff options
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-04-11 21:52:38 +0900 |
---|---|---|
committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-04-11 21:53:32 +0900 |
commit | 973c69fc434b5c97dc2c4a041a5b9de1c2cb5761 (patch) | |
tree | ad369f1891632554e56b717a4fbb1884dfe9b18f | |
parent | 58370c1003b5d8bfe22e6f4fa34858a41722a50a (diff) | |
download | android_build_kati-973c69fc434b5c97dc2c4a041a5b9de1c2cb5761.tar.gz android_build_kati-973c69fc434b5c97dc2c4a041a5b9de1c2cb5761.tar.bz2 android_build_kati-973c69fc434b5c97dc2c4a041a5b9de1c2cb5761.zip |
Skip empty command
-rw-r--r-- | exec.go | 16 | ||||
-rw-r--r-- | testcase/empty_var_cmd.mk | 5 |
2 files changed, 15 insertions, 6 deletions
@@ -63,8 +63,8 @@ type runner struct { shell string } -func evalCmd(ev *Evaluator, r runner, s string, shell string) []runner { - r = newRunner(r, s, shell) +func evalCmd(ev *Evaluator, r runner, s string) []runner { + r = newRunner(r, s) if strings.IndexByte(r.cmd, '$') < 0 { // fast path return []runner{r} @@ -72,13 +72,12 @@ func evalCmd(ev *Evaluator, r runner, s string, shell string) []runner { cmds := ev.evalExpr(r.cmd) var runners []runner for _, cmd := range strings.Split(cmds, "\n") { - runners = append(runners, newRunner(r, cmd, shell)) + runners = append(runners, newRunner(r, cmd)) } return runners } -func newRunner(r runner, s string, shell string) runner { - r.shell = shell +func newRunner(r runner, s string) runner { for { s = trimLeftSpace(s) if s == "" { @@ -321,9 +320,14 @@ func (ex *Executor) build(vars *VarTab, output string, neededBy string) (int64, output: output, echo: true, dryRun: dryRunFlag, + shell: ex.shell, } for _, cmd := range rule.cmds { - runners = append(runners, evalCmd(ev, r, cmd, ex.shell)...) + for _, r := range evalCmd(ev, r, cmd) { + if len(r.cmd) != 0 { + runners = append(runners, r) + } + } } for _, r := range runners { err := r.run() diff --git a/testcase/empty_var_cmd.mk b/testcase/empty_var_cmd.mk new file mode 100644 index 0000000..10560ea --- /dev/null +++ b/testcase/empty_var_cmd.mk @@ -0,0 +1,5 @@ +empty:= + +test: + $(empty) + echo PASS |