1
0
mirror of https://github.com/go-task/task.git synced 2025-06-25 00:47:04 +02:00

v3: Do not include Taskfile_{{OS}}.yml automatically

This commit is contained in:
Andrey Nering
2020-05-17 15:42:27 -03:00
parent 6a604b3002
commit 191c34c9c4
4 changed files with 30 additions and 19 deletions

View File

@ -63,6 +63,11 @@ func Taskfile(dir string, entrypoint string) (*taskfile.Taskfile, error) {
} }
} }
v, err := t.ParsedVersion()
if err != nil {
return nil, err
}
if v < 3.0 {
path = filepath.Join(dir, fmt.Sprintf("Taskfile_%s.yml", runtime.GOOS)) path = filepath.Join(dir, fmt.Sprintf("Taskfile_%s.yml", runtime.GOOS))
if _, err = os.Stat(path); err == nil { if _, err = os.Stat(path); err == nil {
osTaskfile, err := readTaskfile(path) osTaskfile, err := readTaskfile(path)
@ -73,6 +78,7 @@ func Taskfile(dir string, entrypoint string) (*taskfile.Taskfile, error) {
return nil, err return nil, err
} }
} }
}
for name, task := range t.Tasks { for name, task := range t.Tasks {
task.Task = name task.Task = name

View File

@ -1,5 +1,10 @@
package taskfile package taskfile
import (
"fmt"
"strconv"
)
// Taskfile represents a Taskfile.yml // Taskfile represents a Taskfile.yml
type Taskfile struct { type Taskfile struct {
Version string Version string
@ -49,3 +54,12 @@ func (tf *Taskfile) UnmarshalYAML(unmarshal func(interface{}) error) error {
} }
return nil return nil
} }
// ParsedVersion returns the version as a float64
func (tf *Taskfile) ParsedVersion() (float64, error) {
v, err := strconv.ParseFloat(tf.Version, 64)
if err != nil {
return 0, fmt.Errorf(`task: Could not parse taskfile version "%s": %v`, tf.Version, err)
}
return v, nil
}

11
task.go
View File

@ -6,7 +6,6 @@ import (
"fmt" "fmt"
"io" "io"
"os" "os"
"strconv"
"sync" "sync"
"sync/atomic" "sync/atomic"
@ -112,7 +111,7 @@ func (e *Executor) Setup() error {
return err return err
} }
v, err := e.parsedVersion() v, err := e.Taskfile.ParsedVersion()
if err != nil { if err != nil {
return err return err
} }
@ -246,14 +245,6 @@ func (e *Executor) Setup() error {
return nil return nil
} }
func (e *Executor) parsedVersion() (float64, error) {
v, err := strconv.ParseFloat(e.Taskfile.Version, 64)
if err != nil {
return 0, fmt.Errorf(`task: Could not parse taskfile version "%s": %v`, e.Taskfile.Version, err)
}
return v, nil
}
// RunTask runs a task by its name // RunTask runs a task by its name
func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error { func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
t, err := e.CompiledTask(call) t, err := e.CompiledTask(call)

View File

@ -23,7 +23,7 @@ func (e *Executor) CompiledTask(call taskfile.Call) (*taskfile.Task, error) {
return nil, err return nil, err
} }
v, err := e.parsedVersion() v, err := e.Taskfile.ParsedVersion()
if err != nil { if err != nil {
return nil, err return nil, err
} }