diff options
author | 2021-12-12 22:26:58 +0000 | |
---|---|---|
committer | 2021-12-12 22:26:58 +0000 | |
commit | 789e5026b445360c059dfb91fd0f7f2e01c845c7 (patch) | |
tree | 08178de5d924d9f193b303bedca2c90767211a76 | |
parent | f4c2bf65597c771a8f09f236e41cfc46e8f49172 (diff) | |
parent | 827aead340c7e89257da6ff08bde39629de84689 (diff) |
Merge "Suppress all progress messages from Ninja if ANDROID_QUIET_BUILD is set."
-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) } } |