Skip to content

Commit 191c34c

Browse files
committed
v3: Do not include Taskfile_{{OS}}.yml automatically
1 parent 6a604b3 commit 191c34c

File tree

4 files changed

+30
-19
lines changed

4 files changed

+30
-19
lines changed

internal/taskfile/read/taskfile.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,20 @@ func Taskfile(dir string, entrypoint string) (*taskfile.Taskfile, error) {
6363
}
6464
}
6565

66-
path = filepath.Join(dir, fmt.Sprintf("Taskfile_%s.yml", runtime.GOOS))
67-
if _, err = os.Stat(path); err == nil {
68-
osTaskfile, err := readTaskfile(path)
69-
if err != nil {
70-
return nil, err
71-
}
72-
if err = taskfile.Merge(t, osTaskfile); err != nil {
73-
return nil, err
66+
v, err := t.ParsedVersion()
67+
if err != nil {
68+
return nil, err
69+
}
70+
if v < 3.0 {
71+
path = filepath.Join(dir, fmt.Sprintf("Taskfile_%s.yml", runtime.GOOS))
72+
if _, err = os.Stat(path); err == nil {
73+
osTaskfile, err := readTaskfile(path)
74+
if err != nil {
75+
return nil, err
76+
}
77+
if err = taskfile.Merge(t, osTaskfile); err != nil {
78+
return nil, err
79+
}
7480
}
7581
}
7682

internal/taskfile/taskfile.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package taskfile
22

3+
import (
4+
"fmt"
5+
"strconv"
6+
)
7+
38
// Taskfile represents a Taskfile.yml
49
type Taskfile struct {
510
Version string
@@ -49,3 +54,12 @@ func (tf *Taskfile) UnmarshalYAML(unmarshal func(interface{}) error) error {
4954
}
5055
return nil
5156
}
57+
58+
// ParsedVersion returns the version as a float64
59+
func (tf *Taskfile) ParsedVersion() (float64, error) {
60+
v, err := strconv.ParseFloat(tf.Version, 64)
61+
if err != nil {
62+
return 0, fmt.Errorf(`task: Could not parse taskfile version "%s": %v`, tf.Version, err)
63+
}
64+
return v, nil
65+
}

task.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"fmt"
77
"io"
88
"os"
9-
"strconv"
109
"sync"
1110
"sync/atomic"
1211

@@ -112,7 +111,7 @@ func (e *Executor) Setup() error {
112111
return err
113112
}
114113

115-
v, err := e.parsedVersion()
114+
v, err := e.Taskfile.ParsedVersion()
116115
if err != nil {
117116
return err
118117
}
@@ -246,14 +245,6 @@ func (e *Executor) Setup() error {
246245
return nil
247246
}
248247

249-
func (e *Executor) parsedVersion() (float64, error) {
250-
v, err := strconv.ParseFloat(e.Taskfile.Version, 64)
251-
if err != nil {
252-
return 0, fmt.Errorf(`task: Could not parse taskfile version "%s": %v`, e.Taskfile.Version, err)
253-
}
254-
return v, nil
255-
}
256-
257248
// RunTask runs a task by its name
258249
func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
259250
t, err := e.CompiledTask(call)

variables.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func (e *Executor) CompiledTask(call taskfile.Call) (*taskfile.Task, error) {
2323
return nil, err
2424
}
2525

26-
v, err := e.parsedVersion()
26+
v, err := e.Taskfile.ParsedVersion()
2727
if err != nil {
2828
return nil, err
2929
}

0 commit comments

Comments
 (0)