Merge "Upgrade to golang protobuf api v2"

This commit is contained in:
Dan Willemsen
2021-07-29 18:29:26 +00:00
committed by Gerrit Code Review
41 changed files with 7069 additions and 3932 deletions

View File

@@ -17,6 +17,8 @@ bootstrap_go_package {
"soong-response",
"soong-shared",
"soong-ui-metrics_proto",
"golang-protobuf-proto",
"golang-protobuf-encoding-prototext",
],
srcs: [
"androidmk.go",

View File

@@ -18,7 +18,7 @@ import (
"io/ioutil"
"runtime"
"github.com/golang/protobuf/proto"
"google.golang.org/protobuf/proto"
soong_metrics_proto "android/soong/ui/metrics/metrics_proto"
)

View File

@@ -22,9 +22,10 @@ import (
"strings"
"testing"
"github.com/golang/protobuf/proto"
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
"android/soong/cmd/sbox/sbox_proto"
"android/soong/remoteexec"
@@ -621,7 +622,11 @@ func (r *RuleBuilder) Build(name string, desc string) {
}
// Create a rule to write the manifest as a the textproto.
WriteFileRule(r.ctx, r.sboxManifestPath, proto.MarshalTextString(&manifest))
pbText, err := prototext.Marshal(&manifest)
if err != nil {
ReportPathErrorf(r.ctx, "sbox manifest failed to marshal: %q", err)
}
WriteFileRule(r.ctx, r.sboxManifestPath, string(pbText))
// Generate a new string to use as the command line of the sbox rule. This uses
// a RuleBuilderCommand as a convenience method of building the command line, then
@@ -1266,7 +1271,7 @@ func RuleBuilderSboxProtoForTests(t *testing.T, params TestingBuildParams) *sbox
t.Helper()
content := ContentFromFileRuleForTests(t, params)
manifest := sbox_proto.Manifest{}
err := proto.UnmarshalText(content, &manifest)
err := prototext.Unmarshal([]byte(content), &manifest)
if err != nil {
t.Fatalf("failed to unmarshal manifest: %s", err.Error())
}