Skip to content

Commit 120d0be

Browse files
committed
Fixes panic on task --list
Fixes #99
1 parent 5649f75 commit 120d0be

File tree

4 files changed

+17
-16
lines changed

4 files changed

+17
-16
lines changed

cmd/task/task.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func main() {
9898
Stdout: os.Stdout,
9999
Stderr: os.Stderr,
100100
}
101-
if err := e.ReadTaskfile(); err != nil {
101+
if err := e.Setup(); err != nil {
102102
log.Fatal(err)
103103
}
104104

task.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@ type Executor struct {
5252

5353
// Run runs Task
5454
func (e *Executor) Run(calls ...taskfile.Call) error {
55-
if err := e.setup(); err != nil {
56-
return err
57-
}
58-
5955
// check if given tasks exist
6056
for _, c := range calls {
6157
if _, ok := e.Taskfile.Tasks[c.Task]; !ok {
@@ -77,7 +73,12 @@ func (e *Executor) Run(calls ...taskfile.Call) error {
7773
return nil
7874
}
7975

80-
func (e *Executor) setup() error {
76+
// Setup setups Executor's internal state
77+
func (e *Executor) Setup() error {
78+
if err := e.readTaskfile(); err != nil {
79+
return err
80+
}
81+
8182
v, err := semver.NewVersion(e.Taskfile.Version)
8283
if err != nil {
8384
return fmt.Errorf(`task: could not parse taskfile version "%s": %v`, e.Taskfile.Version, err)

task_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (fct fileContentTest) Run(t *testing.T) {
3838
Stdout: ioutil.Discard,
3939
Stderr: ioutil.Discard,
4040
}
41-
assert.NoError(t, e.ReadTaskfile(), "e.ReadTaskfile()")
41+
assert.NoError(t, e.Setup(), "e.Setup()")
4242
assert.NoError(t, e.Run(taskfile.Call{Task: fct.Target}), "e.Run(target)")
4343

4444
for name, expectContent := range fct.Files {
@@ -176,7 +176,7 @@ func TestVarsInvalidTmpl(t *testing.T) {
176176
Stdout: ioutil.Discard,
177177
Stderr: ioutil.Discard,
178178
}
179-
assert.NoError(t, e.ReadTaskfile(), "e.ReadTaskfile()")
179+
assert.NoError(t, e.Setup(), "e.Setup()")
180180
assert.EqualError(t, e.Run(taskfile.Call{Task: target}), expectError, "e.Run(target)")
181181
}
182182

@@ -228,7 +228,7 @@ func TestDeps(t *testing.T) {
228228
Stdout: ioutil.Discard,
229229
Stderr: ioutil.Discard,
230230
}
231-
assert.NoError(t, e.ReadTaskfile())
231+
assert.NoError(t, e.Setup())
232232
assert.NoError(t, e.Run(taskfile.Call{Task: "default"}))
233233

234234
for _, f := range files {
@@ -256,7 +256,7 @@ func TestStatus(t *testing.T) {
256256
Stderr: &buff,
257257
Silent: true,
258258
}
259-
assert.NoError(t, e.ReadTaskfile())
259+
assert.NoError(t, e.Setup())
260260
assert.NoError(t, e.Run(taskfile.Call{Task: "gen-foo"}))
261261

262262
if _, err := os.Stat(file); err != nil {
@@ -295,7 +295,7 @@ func TestGenerates(t *testing.T) {
295295
Stdout: buff,
296296
Stderr: buff,
297297
}
298-
assert.NoError(t, e.ReadTaskfile())
298+
assert.NoError(t, e.Setup())
299299

300300
for _, theTask := range []string{relTask, absTask} {
301301
var destFile = filepath.Join(dir, theTask)
@@ -347,7 +347,7 @@ func TestStatusChecksum(t *testing.T) {
347347
Stdout: &buff,
348348
Stderr: &buff,
349349
}
350-
assert.NoError(t, e.ReadTaskfile())
350+
assert.NoError(t, e.Setup())
351351

352352
assert.NoError(t, e.Run(taskfile.Call{Task: "build"}))
353353
for _, f := range files {
@@ -386,7 +386,7 @@ func TestCyclicDep(t *testing.T) {
386386
Stdout: ioutil.Discard,
387387
Stderr: ioutil.Discard,
388388
}
389-
assert.NoError(t, e.ReadTaskfile())
389+
assert.NoError(t, e.Setup())
390390
assert.IsType(t, &task.MaximumTaskCallExceededError{}, e.Run(taskfile.Call{Task: "task-1"}))
391391
}
392392

@@ -406,7 +406,7 @@ func TestTaskVersion(t *testing.T) {
406406
Stdout: ioutil.Discard,
407407
Stderr: ioutil.Discard,
408408
}
409-
assert.NoError(t, e.ReadTaskfile())
409+
assert.NoError(t, e.Setup())
410410
assert.Equal(t, test.Version, e.Taskfile.Version)
411411
assert.Equal(t, 2, len(e.Taskfile.Tasks))
412412
})

taskfile.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
"gopkg.in/yaml.v2"
1313
)
1414

15-
// ReadTaskfile parses Taskfile from the disk
16-
func (e *Executor) ReadTaskfile() error {
15+
// readTaskfile parses Taskfile from the disk
16+
func (e *Executor) readTaskfile() error {
1717
path := filepath.Join(e.Dir, TaskFilePath)
1818

1919
var err error

0 commit comments

Comments
 (0)