diff --git a/.editorconfig b/.editorconfig index f60a8b79..4ab2eb30 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,7 +7,6 @@ insert_final_newline = true charset = utf-8 trim_trailing_whitespace = true indent_style = tab -indent_size = 8 [*.{md,yml,yaml,json,toml,htm,html}] indent_style = space diff --git a/CHANGELOG.md b/CHANGELOG.md index 23ef4689..d81487a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,13 +34,15 @@ commands are green, errors are red, etc ([#207](https://github.com/go-task/task/pull/207)). -## Unreleased +## v2.8.0 - 2019-12-07 - Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#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 4977feeb..698b62d3 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -1,5 +1,7 @@ version: '3' +# 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 07940839..8ca7b5cc 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -699,7 +699,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: @@ -725,6 +725,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 da966691..52b707c8 100644 --- a/internal/taskfile/taskfile.go +++ b/internal/taskfile/taskfile.go @@ -10,6 +10,7 @@ type Taskfile struct { Vars Vars Env Vars Tasks Tasks + Silent bool } // UnmarshalYAML implements yaml.Unmarshaler interface @@ -23,6 +24,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 @@ -35,6 +37,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 769062a4..8c1b14b7 100644 --- a/task.go +++ b/task.go @@ -316,7 +316,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(logger.Green, "task: %s", cmd.Cmd) }