1
0
mirror of https://github.com/go-task/task.git synced 2025-11-23 22:24:45 +02:00

feat: add silent for defer (#1879)

Co-authored-by: Valentin Maerten <maerten.valentin@gmail.com>
This commit is contained in:
Danilo Bürger
2024-12-07 16:16:27 +01:00
committed by GitHub
parent 1a648dea50
commit 4595c1e32a
3 changed files with 9 additions and 4 deletions

View File

@@ -2002,8 +2002,8 @@ cmd ran
task: [task-2] exit 1 task: [task-2] exit 1
task: [task-2] echo 'failing' && exit 2 task: [task-2] echo 'failing' && exit 2
failing failing
task: [task-2] echo 'echo ran'
echo ran echo ran
task-1 ran successfully
task: [task-1] echo 'task-1 ran successfully' task: [task-1] echo 'task-1 ran successfully'
task-1 ran successfully task-1 ran successfully
`) `)

View File

@@ -75,11 +75,13 @@ func (c *Cmd) UnmarshalYAML(node *yaml.Node) error {
// A deferred command // A deferred command
var deferredCmd struct { var deferredCmd struct {
Defer string Defer string
Silent bool
} }
if err := node.Decode(&deferredCmd); err == nil && deferredCmd.Defer != "" { if err := node.Decode(&deferredCmd); err == nil && deferredCmd.Defer != "" {
c.Defer = true c.Defer = true
c.Cmd = deferredCmd.Defer c.Cmd = deferredCmd.Defer
c.Silent = deferredCmd.Silent
return nil return nil
} }
@@ -91,6 +93,7 @@ func (c *Cmd) UnmarshalYAML(node *yaml.Node) error {
c.Defer = true c.Defer = true
c.Task = deferredCall.Defer.Task c.Task = deferredCall.Defer.Task
c.Vars = deferredCall.Defer.Vars c.Vars = deferredCall.Defer.Vars
c.Silent = deferredCall.Defer.Silent
return nil return nil
} }

View File

@@ -1,12 +1,14 @@
version: "3" version: '3'
tasks: tasks:
task-1: task-1:
- echo 'task-1 ran {{.PARAM}}' - echo 'task-1 ran {{.PARAM}}'
task-2: task-2:
- defer: { task: "task-1", vars: { PARAM: "successfully" } } - defer: { task: 'task-1', vars: { PARAM: 'successfully' } }
- defer: { task: 'task-1', vars: { PARAM: 'successfully' }, silent: true }
- defer: echo 'echo ran' - defer: echo 'echo ran'
silent: true
- defer: echo 'failing' && exit 2 - defer: echo 'failing' && exit 2
- echo 'cmd ran' - echo 'cmd ran'
- exit 1 - exit 1