On v3, treat all CLI variables as global variables

Closes #336
Ref #341

Co-authored-by: Egor Kovetskiy <e.kovetskiy@gmail.com>
This commit is contained in:
Andrey Nering
2020-08-16 21:26:10 -03:00
parent e28b82b2b7
commit 6ff3c9015b
5 changed files with 138 additions and 14 deletions

View File

@@ -12,6 +12,7 @@ import (
"github.com/go-task/task/v3"
"github.com/go-task/task/v3/internal/args"
"github.com/go-task/task/v3/internal/logger"
"github.com/go-task/task/v3/internal/taskfile"
"github.com/spf13/pflag"
)
@@ -141,13 +142,26 @@ func main() {
if err := e.Setup(); err != nil {
log.Fatal(err)
}
v, err := e.Taskfile.ParsedVersion()
if err != nil {
log.Fatal(err)
return
}
if list {
e.PrintTasksHelp()
return
}
calls, globals := args.Parse(pflag.Args()...)
var (
calls []taskfile.Call
globals *taskfile.Vars
)
if v >= 3.0 {
calls, globals = args.ParseV3(pflag.Args()...)
} else {
calls, globals = args.ParseV2(pflag.Args()...)
}
e.Taskfile.Vars.Merge(globals)
ctx := context.Background()