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

Commit 6ebe07de authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge changes I555ad21a,I9d46761e,I917bdeee,I5bc5476a,I59bbdae4, ...

* changes:
  Use SIGWINCH to update terminal size
  Make status line bold
  Move all output through StatusOutput
  Remove terminal.Writer
  Move smart and dumb terminals into separate implementations
  Add tests for status output
parents 42d33779 49036be4
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -156,10 +156,12 @@ type mpContext struct {
}

func main() {
	writer := terminal.NewWriter(terminal.StdioImpl{})
	defer writer.Finish()
	stdio := terminal.StdioImpl{}

	log := logger.New(writer)
	output := terminal.NewStatusOutput(stdio.Stdout(), "",
		build.OsEnvironment().IsEnvTrue("ANDROID_QUIET_BUILD"))

	log := logger.New(output)
	defer log.Cleanup()

	flag.Parse()
@@ -172,8 +174,7 @@ func main() {

	stat := &status.Status{}
	defer stat.Finish()
	stat.AddOutput(terminal.NewStatusOutput(writer, "",
		build.OsEnvironment().IsEnvTrue("ANDROID_QUIET_BUILD")))
	stat.AddOutput(output)

	var failures failureCount
	stat.AddOutput(&failures)
@@ -188,7 +189,7 @@ func main() {
		Context: ctx,
		Logger:  log,
		Tracer:  trace,
		Writer:  writer,
		Writer:  output,
		Status:  stat,
	}}

@@ -341,7 +342,7 @@ func main() {
	} else if failures > 1 {
		log.Fatalf("%d failures", failures)
	} else {
		writer.Print("Success")
		fmt.Fprintln(output, "Success")
	}
}

@@ -386,7 +387,7 @@ func buildProduct(mpctx *mpContext, product string) {
		Context: mpctx.Context,
		Logger:  log,
		Tracer:  mpctx.Tracer,
		Writer:  terminal.NewWriter(terminal.NewCustomStdio(nil, f, f)),
		Writer:  f,
		Thread:  mpctx.Tracer.NewThread(product),
		Status:  &status.Status{},
	}}
@@ -466,3 +467,8 @@ func (f *failureCount) Message(level status.MsgLevel, message string) {
}

func (f *failureCount) Flush() {}

func (f *failureCount) Write(p []byte) (int, error) {
	// discard writes
	return len(p), nil
}
+12 −13
Original line number Diff line number Diff line
@@ -109,10 +109,10 @@ func main() {
		os.Exit(1)
	}

	writer := terminal.NewWriter(c.stdio())
	defer writer.Finish()
	output := terminal.NewStatusOutput(c.stdio().Stdout(), os.Getenv("NINJA_STATUS"),
		build.OsEnvironment().IsEnvTrue("ANDROID_QUIET_BUILD"))

	log := logger.New(writer)
	log := logger.New(output)
	defer log.Cleanup()

	ctx, cancel := context.WithCancel(context.Background())
@@ -125,8 +125,7 @@ func main() {

	stat := &status.Status{}
	defer stat.Finish()
	stat.AddOutput(terminal.NewStatusOutput(writer, os.Getenv("NINJA_STATUS"),
		build.OsEnvironment().IsEnvTrue("ANDROID_QUIET_BUILD")))
	stat.AddOutput(output)
	stat.AddOutput(trace.StatusTracer())

	build.SetupSignals(log, cancel, func() {
@@ -140,7 +139,7 @@ func main() {
		Logger:  log,
		Metrics: met,
		Tracer:  trace,
		Writer:  writer,
		Writer:  output,
		Status:  stat,
	}}

@@ -312,13 +311,13 @@ func dumpVarConfig(ctx build.Context, args ...string) build.Config {
func make(ctx build.Context, config build.Config, _ []string, logsDir string) {
	if config.IsVerbose() {
		writer := ctx.Writer
		writer.Print("! The argument `showcommands` is no longer supported.")
		writer.Print("! Instead, the verbose log is always written to a compressed file in the output dir:")
		writer.Print("!")
		writer.Print(fmt.Sprintf("!   gzip -cd %s/verbose.log.gz | less -R", logsDir))
		writer.Print("!")
		writer.Print("! Older versions are saved in verbose.log.#.gz files")
		writer.Print("")
		fmt.Fprintln(writer, "! The argument `showcommands` is no longer supported.")
		fmt.Fprintln(writer, "! Instead, the verbose log is always written to a compressed file in the output dir:")
		fmt.Fprintln(writer, "!")
		fmt.Fprintf(writer, "!   gzip -cd %s/verbose.log.gz | less -R\n", logsDir)
		fmt.Fprintln(writer, "!")
		fmt.Fprintln(writer, "! Older versions are saved in verbose.log.#.gz files")
		fmt.Fprintln(writer, "")
		time.Sleep(5 * time.Second)
	}

+1 −2
Original line number Diff line number Diff line
@@ -22,14 +22,13 @@ import (
	"testing"

	"android/soong/ui/logger"
	"android/soong/ui/terminal"
)

func testContext() Context {
	return Context{&ContextImpl{
		Context: context.Background(),
		Logger:  logger.New(&bytes.Buffer{}),
		Writer:  terminal.NewWriter(terminal.NewCustomStdio(&bytes.Buffer{}, &bytes.Buffer{}, &bytes.Buffer{})),
		Writer:  &bytes.Buffer{},
	}}
}

+2 −2
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@ package build

import (
	"context"
	"io"

	"android/soong/ui/logger"
	"android/soong/ui/metrics"
	"android/soong/ui/metrics/metrics_proto"
	"android/soong/ui/status"
	"android/soong/ui/terminal"
	"android/soong/ui/tracer"
)

@@ -35,7 +35,7 @@ type ContextImpl struct {

	Metrics *metrics.Metrics

	Writer terminal.Writer
	Writer io.Writer
	Status *status.Status

	Thread tracer.Thread
+1 −1
Original line number Diff line number Diff line
@@ -249,7 +249,7 @@ func runMakeProductConfig(ctx Context, config Config) {
	env := config.Environment()
	// Print the banner like make does
	if !env.IsEnvTrue("ANDROID_QUIET_BUILD") {
		ctx.Writer.Print(Banner(make_vars))
		fmt.Fprintln(ctx.Writer, Banner(make_vars))
	}

	// Populate the environment
Loading