allow assigning variables to tasks at run time via CLI

using a similar syntax than setting env variables to command in bash,
but used right after the task:

```bash
task print MESSAGE=Hello!
```

closes #33
This commit is contained in:
Andrey Nering
2017-09-07 13:57:06 -03:00
parent 5e72de4ba2
commit f3097845b4
8 changed files with 159 additions and 35 deletions

View File

@@ -6,6 +6,7 @@ import (
"os"
"github.com/go-task/task"
"github.com/go-task/task/args"
"github.com/spf13/pflag"
)
@@ -99,13 +100,18 @@ func main() {
return
}
args := pflag.Args()
if len(args) == 0 {
arguments := pflag.Args()
if len(arguments) == 0 {
log.Println("task: No argument given, trying default task")
args = []string{"default"}
arguments = []string{"default"}
}
if err := e.Run(args...); err != nil {
calls, err := args.Parse(arguments...)
if err != nil {
log.Fatal(err)
}
if err := e.Run(calls...); err != nil {
log.Fatal(err)
}
}