diff options
author | 2021-11-19 11:22:54 -0800 | |
---|---|---|
committer | 2021-12-10 16:42:34 -0800 | |
commit | 827aead340c7e89257da6ff08bde39629de84689 (patch) | |
tree | 65236e3a7417329c95d1d688d4ae365e3d97c861 | |
parent | 4d5cd1f267d2c301a37378b6761a91c5199f0872 (diff) |
Suppress all progress messages from Ninja if ANDROID_QUIET_BUILD is set.
Test: build with ANDROID_QUIET_BUILD=true, observe no progress messages
Change-Id: I98b9a657affa2ebbf86c9c081d51c31698072fed
-rw-r--r-- | ui/terminal/simple_status.go | 27 | ||||
-rw-r--r-- | ui/terminal/status.go | 6 |
2 files changed, 21 insertions, 12 deletions
diff --git a/ui/terminal/simple_status.go b/ui/terminal/simple_status.go index 936b275a1..31578136c 100644 --- a/ui/terminal/simple_status.go +++ b/ui/terminal/simple_status.go @@ -22,32 +22,41 @@ import ( ) type simpleStatusOutput struct { - writer io.Writer - formatter formatter - keepANSI bool + writer io.Writer + formatter formatter + keepANSI bool + outputLevel status.MsgLevel } // NewSimpleStatusOutput returns a StatusOutput that represents the // current build status similarly to Ninja's built-in terminal // output. -func NewSimpleStatusOutput(w io.Writer, formatter formatter, keepANSI bool) status.StatusOutput { +func NewSimpleStatusOutput(w io.Writer, formatter formatter, keepANSI bool, quietBuild bool) status.StatusOutput { + level := status.StatusLvl + if quietBuild { + level = status.PrintLvl + } return &simpleStatusOutput{ - writer: w, - formatter: formatter, - keepANSI: keepANSI, + writer: w, + formatter: formatter, + keepANSI: keepANSI, + outputLevel: level, } } func (s *simpleStatusOutput) Message(level status.MsgLevel, message string) { - if level >= status.StatusLvl { + if level >= s.outputLevel { fmt.Fprintln(s.writer, s.formatter.message(level, message)) } } -func (s *simpleStatusOutput) StartAction(action *status.Action, counts status.Counts) { +func (s *simpleStatusOutput) StartAction(_ *status.Action, _ status.Counts) { } func (s *simpleStatusOutput) FinishAction(result status.ActionResult, counts status.Counts) { + if s.outputLevel > status.StatusLvl { + return + } str := result.Description if str == "" { str = result.Command diff --git a/ui/terminal/status.go b/ui/terminal/status.go index 2ad174fee..ff0af4737 100644 --- a/ui/terminal/status.go +++ b/ui/terminal/status.go @@ -29,9 +29,9 @@ import ( func NewStatusOutput(w io.Writer, statusFormat string, forceSimpleOutput, quietBuild, forceKeepANSI bool) status.StatusOutput { formatter := newFormatter(statusFormat, quietBuild) - if !forceSimpleOutput && isSmartTerminal(w) { - return NewSmartStatusOutput(w, formatter) + if forceSimpleOutput || quietBuild || !isSmartTerminal(w) { + return NewSimpleStatusOutput(w, formatter, forceKeepANSI, quietBuild) } else { - return NewSimpleStatusOutput(w, formatter, forceKeepANSI) + return NewSmartStatusOutput(w, formatter) } } |