1
0
mirror of https://github.com/go-task/task.git synced 2025-06-29 00:51:43 +02:00

add ignoreError option

This commit is contained in:
Tobias Salzmann
2018-07-10 10:44:58 +02:00
parent c541356289
commit 05600601ff
7 changed files with 113 additions and 37 deletions

View File

@ -7,16 +7,18 @@ import (
// Cmd is a task command
type Cmd struct {
Cmd string
Silent bool
Task string
Vars Vars
Cmd string
Silent bool
Task string
Vars Vars
IgnoreError bool
}
// Dep is a task dependency
type Dep struct {
Task string
Vars Vars
Task string
Vars Vars
IgnoreError bool
}
var (
@ -38,21 +40,25 @@ func (c *Cmd) UnmarshalYAML(unmarshal func(interface{}) error) error {
return nil
}
var cmdStruct struct {
Cmd string
Silent bool
Cmd string
Silent bool
IgnoreError bool `yaml:"ignoreError"`
}
if err := unmarshal(&cmdStruct); err == nil && cmdStruct.Cmd != "" {
c.Cmd = cmdStruct.Cmd
c.Silent = cmdStruct.Silent
c.IgnoreError = cmdStruct.IgnoreError
return nil
}
var taskCall struct {
Task string
Vars Vars
Task string
Vars Vars
IgnoreError bool `yaml:"ignoreError"`
}
if err := unmarshal(&taskCall); err == nil {
c.Task = taskCall.Task
c.Vars = taskCall.Vars
c.IgnoreError = taskCall.IgnoreError
return nil
}
return ErrCantUnmarshalCmd
@ -66,12 +72,14 @@ func (d *Dep) UnmarshalYAML(unmarshal func(interface{}) error) error {
return nil
}
var taskCall struct {
Task string
Vars Vars
Task string
Vars Vars
IgnoreError bool `yaml:"ignoreError"`
}
if err := unmarshal(&taskCall); err == nil {
d.Task = taskCall.Task
d.Vars = taskCall.Vars
d.IgnoreError = taskCall.IgnoreError
return nil
}
return ErrCantUnmarshalDep