diff --git a/CHANGELOG.md b/CHANGELOG.md index b0170058..a66b1931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ ([#266](https://github.com/go-task/task/pull/266)). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. +- Add hability to silent all tasks by adding `silent: true` a the root of the + Taskfile. ## v2.7.1 - 2019-11-10 diff --git a/Taskfile.yml b/Taskfile.yml index c85fd0ff..dee88d4c 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,5 +1,7 @@ version: '2' +# silent: true + includes: docs: ./docs diff --git a/docs/styleguide.md b/docs/styleguide.md index 59933bf1..096c5868 100644 --- a/docs/styleguide.md +++ b/docs/styleguide.md @@ -28,7 +28,7 @@ officially supported. On Linux, only `Taskfile.yml` will work, though. - `version:` - `includes:` -- Configuration ones, like `output:` and `expansions:` +- Configuration ones, like `output:`, `expansions:` or `silent:` - `vars:` - `env:` - `tasks:` diff --git a/docs/usage.md b/docs/usage.md index 5e139823..8743c295 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -674,7 +674,7 @@ With silent mode on, the below will be print instead: Print something ``` -There's three ways to enable silent mode: +There are four ways to enable silent mode: * At command level: @@ -700,6 +700,19 @@ tasks: silent: true ``` +* Globally at Taskfile level: + +```yaml +version: '2' + +silent: true + +tasks: + echo: + cmds: + - echo "Print something" +``` + * Or globally with `--silent` or `-s` flag If you want to suppress STDOUT instead, just redirect a command to `/dev/null`: diff --git a/internal/taskfile/taskfile.go b/internal/taskfile/taskfile.go index 6da09dd0..3fbda37d 100644 --- a/internal/taskfile/taskfile.go +++ b/internal/taskfile/taskfile.go @@ -9,6 +9,7 @@ type Taskfile struct { Vars Vars Env Vars Tasks Tasks + Silent bool } // UnmarshalYAML implements yaml.Unmarshaler interface @@ -26,6 +27,7 @@ func (tf *Taskfile) UnmarshalYAML(unmarshal func(interface{}) error) error { Vars Vars Env Vars Tasks Tasks + Silent bool } if err := unmarshal(&taskfile); err != nil { return err @@ -37,6 +39,7 @@ func (tf *Taskfile) UnmarshalYAML(unmarshal func(interface{}) error) error { tf.Vars = taskfile.Vars tf.Env = taskfile.Env tf.Tasks = taskfile.Tasks + tf.Silent = taskfile.Silent if tf.Expansions <= 0 { tf.Expansions = 2 } diff --git a/task.go b/task.go index 1c3cd383..067d7229 100644 --- a/task.go +++ b/task.go @@ -308,7 +308,7 @@ func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfi } return nil case cmd.Cmd != "": - if e.Verbose || (!cmd.Silent && !t.Silent && !e.Silent) { + if e.Verbose || (!cmd.Silent && !t.Silent && !e.Taskfile.Silent && !e.Silent) { e.Logger.Errf(cmd.Cmd) }