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

Commit 0835c1b2 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Do not write build_error proto file if there are no build errors."

parents ddd7d0ca 36b5e31f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import (
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"strings"

	"github.com/golang/protobuf/proto"
@@ -154,6 +155,7 @@ type errorProtoLog struct {
}

func NewProtoErrorLog(log logger.Logger, filename string) StatusOutput {
	os.Remove(filename)
	return &errorProtoLog{
		errorProto: soong_build_error_proto.BuildError{},
		filename:   filename,
@@ -178,11 +180,17 @@ func (e *errorProtoLog) FinishAction(result ActionResult, counts Counts) {
}

func (e *errorProtoLog) Flush() {
	// Don't create the build error proto file if there is action errors.
	if len(e.errorProto.ActionErrors) == 0 {
		return
	}

	data, err := proto.Marshal(&e.errorProto)
	if err != nil {
		e.log.Printf("Failed to marshal build status proto: %v\n", err)
		return
	}

	err = ioutil.WriteFile(e.filename, []byte(data), 0644)
	if err != nil {
		e.log.Printf("Failed to write file %s: %v\n", e.filename, err)