Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 827aead3 authored by Sasha Smundak's avatar Sasha Smundak
Browse files

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
parent 4d5cd1f2
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
@@ -25,29 +25,38 @@ type simpleStatusOutput struct {
	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,
		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
+3 −3
Original line number Diff line number Diff line
@@ -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)
	}
}