Upgrade to golang protobuf api v2

Major operations:
 * Fix the go_package entries to be consistent, as the new tool
   complains when it doesn't have a '/'.
 * Regenerate with the new protoc-gen-go tool.
 * github.com/golang/protobuf -> google.golang.org/protobuf
 * proto.[Un]MarshalText -> prototext.[Un]Marshal

Change-Id: Ie1147bd2457fafb66ba555461b3bf14f0561a25d
This commit is contained in:
Dan Willemsen
2021-05-24 14:24:12 -07:00
parent 00d21ce8a5
commit 4591b6496d
41 changed files with 7069 additions and 3932 deletions

View File

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

View File

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

View File

@@ -22,9 +22,10 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/golang/protobuf/proto"
"github.com/google/blueprint" "github.com/google/blueprint"
"github.com/google/blueprint/proptools" "github.com/google/blueprint/proptools"
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
"android/soong/cmd/sbox/sbox_proto" "android/soong/cmd/sbox/sbox_proto"
"android/soong/remoteexec" "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. // 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 // 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 // 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() t.Helper()
content := ContentFromFileRuleForTests(t, params) content := ContentFromFileRuleForTests(t, params)
manifest := sbox_proto.Manifest{} manifest := sbox_proto.Manifest{}
err := proto.UnmarshalText(content, &manifest) err := prototext.Unmarshal([]byte(content), &manifest)
if err != nil { if err != nil {
t.Fatalf("failed to unmarshal manifest: %s", err.Error()) t.Fatalf("failed to unmarshal manifest: %s", err.Error())
} }

View File

@@ -8,6 +8,7 @@ blueprint_go_binary {
deps: [ deps: [
"android-archive-zip", "android-archive-zip",
"golang-protobuf-proto", "golang-protobuf-proto",
"golang-protobuf-encoding-prototext",
"soong-cmd-extract_apks-proto", "soong-cmd-extract_apks-proto",
], ],
testSrcs: ["main_test.go"], testSrcs: ["main_test.go"],
@@ -16,7 +17,10 @@ blueprint_go_binary {
bootstrap_go_package { bootstrap_go_package {
name: "soong-cmd-extract_apks-proto", name: "soong-cmd-extract_apks-proto",
pkgPath: "android/soong/cmd/extract_apks/bundle_proto", pkgPath: "android/soong/cmd/extract_apks/bundle_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"bundle_proto/commands.pb.go", "bundle_proto/commands.pb.go",
"bundle_proto/config.pb.go", "bundle_proto/config.pb.go",

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@ package android.bundle;
import "config.proto"; import "config.proto";
import "targeting.proto"; import "targeting.proto";
option go_package = "android_bundle_proto"; option go_package = "android/soong/cmd/extract_apks/bundle_proto";
option java_package = "com.android.bundle"; option java_package = "com.android.bundle";
// Describes the output of the "build-apks" command. // Describes the output of the "build-apks" command.

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ syntax = "proto3";
package android.bundle; package android.bundle;
option go_package = "android_bundle_proto"; option go_package = "android/soong/cmd/extract_apks/bundle_proto";
option java_package = "com.android.bundle"; option java_package = "com.android.bundle";
message BundleConfig { message BundleConfig {

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ syntax = "proto3";
package android.bundle; package android.bundle;
option go_package = "android_bundle_proto"; option go_package = "android/soong/cmd/extract_apks/bundle_proto";
option java_package = "com.android.bundle"; option java_package = "com.android.bundle";
// Targeting on the level of variants. // Targeting on the level of variants.

View File

@@ -27,9 +27,9 @@ import (
"sort" "sort"
"strings" "strings"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
"android/soong/cmd/extract_apks/bundle_proto" android_bundle_proto "android/soong/cmd/extract_apks/bundle_proto"
"android/soong/third_party/zip" "android/soong/third_party/zip"
) )

View File

@@ -19,7 +19,7 @@ import (
"reflect" "reflect"
"testing" "testing"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/encoding/prototext"
bp "android/soong/cmd/extract_apks/bundle_proto" bp "android/soong/cmd/extract_apks/bundle_proto"
"android/soong/third_party/zip" "android/soong/third_party/zip"
@@ -253,7 +253,7 @@ variant {
} }
for _, testCase := range testCases { for _, testCase := range testCases {
var toc bp.BuildApksResult var toc bp.BuildApksResult
if err := proto.UnmarshalText(testCase.protoText, &toc); err != nil { if err := prototext.Unmarshal([]byte(testCase.protoText), &toc); err != nil {
t.Fatal(err) t.Fatal(err)
} }
for _, config := range testCase.configs { for _, config := range testCase.configs {
@@ -407,7 +407,7 @@ bundletool {
} }
for _, testCase := range testCases { for _, testCase := range testCases {
var toc bp.BuildApksResult var toc bp.BuildApksResult
if err := proto.UnmarshalText(testCase.protoText, &toc); err != nil { if err := prototext.Unmarshal([]byte(testCase.protoText), &toc); err != nil {
t.Fatal(err) t.Fatal(err)
} }
for _, config := range testCase.configs { for _, config := range testCase.configs {

View File

@@ -19,6 +19,7 @@ package {
blueprint_go_binary { blueprint_go_binary {
name: "sbox", name: "sbox",
deps: [ deps: [
"golang-protobuf-encoding-prototext",
"sbox_proto", "sbox_proto",
"soong-makedeps", "soong-makedeps",
"soong-response", "soong-response",
@@ -31,7 +32,10 @@ blueprint_go_binary {
bootstrap_go_package { bootstrap_go_package {
name: "sbox_proto", name: "sbox_proto",
pkgPath: "android/soong/cmd/sbox/sbox_proto", pkgPath: "android/soong/cmd/sbox/sbox_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"sbox_proto/sbox.pb.go", "sbox_proto/sbox.pb.go",
], ],

View File

@@ -34,7 +34,7 @@ import (
"android/soong/makedeps" "android/soong/makedeps"
"android/soong/response" "android/soong/response"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/encoding/prototext"
) )
var ( var (
@@ -203,7 +203,7 @@ func readManifest(file string) (*sbox_proto.Manifest, error) {
manifest := sbox_proto.Manifest{} manifest := sbox_proto.Manifest{}
err = proto.UnmarshalText(string(manifestData), &manifest) err = prototext.Unmarshal(manifestData, &manifest)
if err != nil { if err != nil {
return nil, fmt.Errorf("error parsing manifest %q: %w", file, err) return nil, fmt.Errorf("error parsing manifest %q: %w", file, err)
} }

View File

@@ -1,78 +1,104 @@
// Copyright 2020 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: sbox.proto // source: sbox.proto
package sbox_proto package sbox_proto
import ( import (
fmt "fmt" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
proto "github.com/golang/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
math "math" reflect "reflect"
sync "sync"
) )
// Reference imports to suppress errors if they are not otherwise used. const (
var _ = proto.Marshal // Verify that this generated code is sufficiently up-to-date.
var _ = fmt.Errorf _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
var _ = math.Inf // Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
// This is a compile-time assertion to ensure that this generated file )
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// A set of commands to run in a sandbox. // A set of commands to run in a sandbox.
type Manifest struct { type Manifest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A list of commands to run in the sandbox. // A list of commands to run in the sandbox.
Commands []*Command `protobuf:"bytes,1,rep,name=commands" json:"commands,omitempty"` Commands []*Command `protobuf:"bytes,1,rep,name=commands" json:"commands,omitempty"`
// If set, GCC-style dependency files from any command that references __SBOX_DEPFILE__ will be // If set, GCC-style dependency files from any command that references __SBOX_DEPFILE__ will be
// merged into the given output file relative to the $PWD when sbox was started. // merged into the given output file relative to the $PWD when sbox was started.
OutputDepfile *string `protobuf:"bytes,2,opt,name=output_depfile,json=outputDepfile" json:"output_depfile,omitempty"` OutputDepfile *string `protobuf:"bytes,2,opt,name=output_depfile,json=outputDepfile" json:"output_depfile,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *Manifest) Reset() { *m = Manifest{} } func (x *Manifest) Reset() {
func (m *Manifest) String() string { return proto.CompactTextString(m) } *x = Manifest{}
func (*Manifest) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_sbox_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Manifest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Manifest) ProtoMessage() {}
func (x *Manifest) ProtoReflect() protoreflect.Message {
mi := &file_sbox_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Manifest.ProtoReflect.Descriptor instead.
func (*Manifest) Descriptor() ([]byte, []int) { func (*Manifest) Descriptor() ([]byte, []int) {
return fileDescriptor_9d0425bf0de86ed1, []int{0} return file_sbox_proto_rawDescGZIP(), []int{0}
} }
func (m *Manifest) XXX_Unmarshal(b []byte) error { func (x *Manifest) GetCommands() []*Command {
return xxx_messageInfo_Manifest.Unmarshal(m, b) if x != nil {
} return x.Commands
func (m *Manifest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Manifest.Marshal(b, m, deterministic)
}
func (m *Manifest) XXX_Merge(src proto.Message) {
xxx_messageInfo_Manifest.Merge(m, src)
}
func (m *Manifest) XXX_Size() int {
return xxx_messageInfo_Manifest.Size(m)
}
func (m *Manifest) XXX_DiscardUnknown() {
xxx_messageInfo_Manifest.DiscardUnknown(m)
}
var xxx_messageInfo_Manifest proto.InternalMessageInfo
func (m *Manifest) GetCommands() []*Command {
if m != nil {
return m.Commands
} }
return nil return nil
} }
func (m *Manifest) GetOutputDepfile() string { func (x *Manifest) GetOutputDepfile() string {
if m != nil && m.OutputDepfile != nil { if x != nil && x.OutputDepfile != nil {
return *m.OutputDepfile return *x.OutputDepfile
} }
return "" return ""
} }
// SandboxManifest describes a command to run in the sandbox. // SandboxManifest describes a command to run in the sandbox.
type Command struct { type Command struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A list of copy rules to run before the sandboxed command. The from field is relative to the // A list of copy rules to run before the sandboxed command. The from field is relative to the
// $PWD when sbox was run, the to field is relative to the top of the temporary sandbox directory. // $PWD when sbox was run, the to field is relative to the top of the temporary sandbox directory.
CopyBefore []*Copy `protobuf:"bytes,1,rep,name=copy_before,json=copyBefore" json:"copy_before,omitempty"` CopyBefore []*Copy `protobuf:"bytes,1,rep,name=copy_before,json=copyBefore" json:"copy_before,omitempty"`
@@ -89,75 +115,79 @@ type Command struct {
InputHash *string `protobuf:"bytes,5,opt,name=input_hash,json=inputHash" json:"input_hash,omitempty"` InputHash *string `protobuf:"bytes,5,opt,name=input_hash,json=inputHash" json:"input_hash,omitempty"`
// A list of files that will be copied before the sandboxed command, and whose contents should be // A list of files that will be copied before the sandboxed command, and whose contents should be
// copied as if they were listed in copy_before. // copied as if they were listed in copy_before.
RspFiles []*RspFile `protobuf:"bytes,6,rep,name=rsp_files,json=rspFiles" json:"rsp_files,omitempty"` RspFiles []*RspFile `protobuf:"bytes,6,rep,name=rsp_files,json=rspFiles" json:"rsp_files,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *Command) Reset() { *m = Command{} } func (x *Command) Reset() {
func (m *Command) String() string { return proto.CompactTextString(m) } *x = Command{}
func (*Command) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_sbox_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Command) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Command) ProtoMessage() {}
func (x *Command) ProtoReflect() protoreflect.Message {
mi := &file_sbox_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Command.ProtoReflect.Descriptor instead.
func (*Command) Descriptor() ([]byte, []int) { func (*Command) Descriptor() ([]byte, []int) {
return fileDescriptor_9d0425bf0de86ed1, []int{1} return file_sbox_proto_rawDescGZIP(), []int{1}
} }
func (m *Command) XXX_Unmarshal(b []byte) error { func (x *Command) GetCopyBefore() []*Copy {
return xxx_messageInfo_Command.Unmarshal(m, b) if x != nil {
} return x.CopyBefore
func (m *Command) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Command.Marshal(b, m, deterministic)
}
func (m *Command) XXX_Merge(src proto.Message) {
xxx_messageInfo_Command.Merge(m, src)
}
func (m *Command) XXX_Size() int {
return xxx_messageInfo_Command.Size(m)
}
func (m *Command) XXX_DiscardUnknown() {
xxx_messageInfo_Command.DiscardUnknown(m)
}
var xxx_messageInfo_Command proto.InternalMessageInfo
func (m *Command) GetCopyBefore() []*Copy {
if m != nil {
return m.CopyBefore
} }
return nil return nil
} }
func (m *Command) GetChdir() bool { func (x *Command) GetChdir() bool {
if m != nil && m.Chdir != nil { if x != nil && x.Chdir != nil {
return *m.Chdir return *x.Chdir
} }
return false return false
} }
func (m *Command) GetCommand() string { func (x *Command) GetCommand() string {
if m != nil && m.Command != nil { if x != nil && x.Command != nil {
return *m.Command return *x.Command
} }
return "" return ""
} }
func (m *Command) GetCopyAfter() []*Copy { func (x *Command) GetCopyAfter() []*Copy {
if m != nil { if x != nil {
return m.CopyAfter return x.CopyAfter
} }
return nil return nil
} }
func (m *Command) GetInputHash() string { func (x *Command) GetInputHash() string {
if m != nil && m.InputHash != nil { if x != nil && x.InputHash != nil {
return *m.InputHash return *x.InputHash
} }
return "" return ""
} }
func (m *Command) GetRspFiles() []*RspFile { func (x *Command) GetRspFiles() []*RspFile {
if m != nil { if x != nil {
return m.RspFiles return x.RspFiles
} }
return nil return nil
} }
@@ -166,193 +196,341 @@ func (m *Command) GetRspFiles() []*RspFile {
// are relative to is specific to the context the Copy is used in and will be different for // are relative to is specific to the context the Copy is used in and will be different for
// from and to. // from and to.
type Copy struct { type Copy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"` From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"`
To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"` To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"`
// If true, make the file executable after copying it. // If true, make the file executable after copying it.
Executable *bool `protobuf:"varint,3,opt,name=executable" json:"executable,omitempty"` Executable *bool `protobuf:"varint,3,opt,name=executable" json:"executable,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *Copy) Reset() { *m = Copy{} } func (x *Copy) Reset() {
func (m *Copy) String() string { return proto.CompactTextString(m) } *x = Copy{}
func (*Copy) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_sbox_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Copy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Copy) ProtoMessage() {}
func (x *Copy) ProtoReflect() protoreflect.Message {
mi := &file_sbox_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Copy.ProtoReflect.Descriptor instead.
func (*Copy) Descriptor() ([]byte, []int) { func (*Copy) Descriptor() ([]byte, []int) {
return fileDescriptor_9d0425bf0de86ed1, []int{2} return file_sbox_proto_rawDescGZIP(), []int{2}
} }
func (m *Copy) XXX_Unmarshal(b []byte) error { func (x *Copy) GetFrom() string {
return xxx_messageInfo_Copy.Unmarshal(m, b) if x != nil && x.From != nil {
} return *x.From
func (m *Copy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Copy.Marshal(b, m, deterministic)
}
func (m *Copy) XXX_Merge(src proto.Message) {
xxx_messageInfo_Copy.Merge(m, src)
}
func (m *Copy) XXX_Size() int {
return xxx_messageInfo_Copy.Size(m)
}
func (m *Copy) XXX_DiscardUnknown() {
xxx_messageInfo_Copy.DiscardUnknown(m)
}
var xxx_messageInfo_Copy proto.InternalMessageInfo
func (m *Copy) GetFrom() string {
if m != nil && m.From != nil {
return *m.From
} }
return "" return ""
} }
func (m *Copy) GetTo() string { func (x *Copy) GetTo() string {
if m != nil && m.To != nil { if x != nil && x.To != nil {
return *m.To return *x.To
} }
return "" return ""
} }
func (m *Copy) GetExecutable() bool { func (x *Copy) GetExecutable() bool {
if m != nil && m.Executable != nil { if x != nil && x.Executable != nil {
return *m.Executable return *x.Executable
} }
return false return false
} }
// RspFile describes an rspfile that should be copied into the sandbox directory. // RspFile describes an rspfile that should be copied into the sandbox directory.
type RspFile struct { type RspFile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The path to the rsp file. // The path to the rsp file.
File *string `protobuf:"bytes,1,req,name=file" json:"file,omitempty"` File *string `protobuf:"bytes,1,req,name=file" json:"file,omitempty"`
// A list of path mappings that should be applied to each file listed in the rsp file. // A list of path mappings that should be applied to each file listed in the rsp file.
PathMappings []*PathMapping `protobuf:"bytes,2,rep,name=path_mappings,json=pathMappings" json:"path_mappings,omitempty"` PathMappings []*PathMapping `protobuf:"bytes,2,rep,name=path_mappings,json=pathMappings" json:"path_mappings,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *RspFile) Reset() { *m = RspFile{} } func (x *RspFile) Reset() {
func (m *RspFile) String() string { return proto.CompactTextString(m) } *x = RspFile{}
func (*RspFile) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_sbox_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RspFile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RspFile) ProtoMessage() {}
func (x *RspFile) ProtoReflect() protoreflect.Message {
mi := &file_sbox_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RspFile.ProtoReflect.Descriptor instead.
func (*RspFile) Descriptor() ([]byte, []int) { func (*RspFile) Descriptor() ([]byte, []int) {
return fileDescriptor_9d0425bf0de86ed1, []int{3} return file_sbox_proto_rawDescGZIP(), []int{3}
} }
func (m *RspFile) XXX_Unmarshal(b []byte) error { func (x *RspFile) GetFile() string {
return xxx_messageInfo_RspFile.Unmarshal(m, b) if x != nil && x.File != nil {
} return *x.File
func (m *RspFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RspFile.Marshal(b, m, deterministic)
}
func (m *RspFile) XXX_Merge(src proto.Message) {
xxx_messageInfo_RspFile.Merge(m, src)
}
func (m *RspFile) XXX_Size() int {
return xxx_messageInfo_RspFile.Size(m)
}
func (m *RspFile) XXX_DiscardUnknown() {
xxx_messageInfo_RspFile.DiscardUnknown(m)
}
var xxx_messageInfo_RspFile proto.InternalMessageInfo
func (m *RspFile) GetFile() string {
if m != nil && m.File != nil {
return *m.File
} }
return "" return ""
} }
func (m *RspFile) GetPathMappings() []*PathMapping { func (x *RspFile) GetPathMappings() []*PathMapping {
if m != nil { if x != nil {
return m.PathMappings return x.PathMappings
} }
return nil return nil
} }
// PathMapping describes a mapping from a path outside the sandbox to the path inside the sandbox. // PathMapping describes a mapping from a path outside the sandbox to the path inside the sandbox.
type PathMapping struct { type PathMapping struct {
From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"` state protoimpl.MessageState
To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"` sizeCache protoimpl.SizeCache
XXX_NoUnkeyedLiteral struct{} `json:"-"` unknownFields protoimpl.UnknownFields
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` From *string `protobuf:"bytes,1,req,name=from" json:"from,omitempty"`
To *string `protobuf:"bytes,2,req,name=to" json:"to,omitempty"`
} }
func (m *PathMapping) Reset() { *m = PathMapping{} } func (x *PathMapping) Reset() {
func (m *PathMapping) String() string { return proto.CompactTextString(m) } *x = PathMapping{}
func (*PathMapping) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_sbox_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PathMapping) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PathMapping) ProtoMessage() {}
func (x *PathMapping) ProtoReflect() protoreflect.Message {
mi := &file_sbox_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PathMapping.ProtoReflect.Descriptor instead.
func (*PathMapping) Descriptor() ([]byte, []int) { func (*PathMapping) Descriptor() ([]byte, []int) {
return fileDescriptor_9d0425bf0de86ed1, []int{4} return file_sbox_proto_rawDescGZIP(), []int{4}
} }
func (m *PathMapping) XXX_Unmarshal(b []byte) error { func (x *PathMapping) GetFrom() string {
return xxx_messageInfo_PathMapping.Unmarshal(m, b) if x != nil && x.From != nil {
} return *x.From
func (m *PathMapping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PathMapping.Marshal(b, m, deterministic)
}
func (m *PathMapping) XXX_Merge(src proto.Message) {
xxx_messageInfo_PathMapping.Merge(m, src)
}
func (m *PathMapping) XXX_Size() int {
return xxx_messageInfo_PathMapping.Size(m)
}
func (m *PathMapping) XXX_DiscardUnknown() {
xxx_messageInfo_PathMapping.DiscardUnknown(m)
}
var xxx_messageInfo_PathMapping proto.InternalMessageInfo
func (m *PathMapping) GetFrom() string {
if m != nil && m.From != nil {
return *m.From
} }
return "" return ""
} }
func (m *PathMapping) GetTo() string { func (x *PathMapping) GetTo() string {
if m != nil && m.To != nil { if x != nil && x.To != nil {
return *m.To return *x.To
} }
return "" return ""
} }
func init() { var File_sbox_proto protoreflect.FileDescriptor
proto.RegisterType((*Manifest)(nil), "sbox.Manifest")
proto.RegisterType((*Command)(nil), "sbox.Command") var file_sbox_proto_rawDesc = []byte{
proto.RegisterType((*Copy)(nil), "sbox.Copy") 0x0a, 0x0a, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x73, 0x62,
proto.RegisterType((*RspFile)(nil), "sbox.RspFile") 0x6f, 0x78, 0x22, 0x5c, 0x0a, 0x08, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x29,
proto.RegisterType((*PathMapping)(nil), "sbox.PathMapping") 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, 0x70, 0x66, 0x69, 0x6c, 0x65,
0x22, 0xdc, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x0b,
0x63, 0x6f, 0x70, 0x79, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x0a, 0x63,
0x6f, 0x70, 0x79, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x64,
0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x64, 0x69, 0x72, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09,
0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x0a, 0x63, 0x6f, 0x70,
0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
0x73, 0x62, 0x6f, 0x78, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x41,
0x66, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x48,
0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x73, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73,
0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x52, 0x73,
0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22,
0x4a, 0x0a, 0x04, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18,
0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74,
0x6f, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x07, 0x52,
0x73, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01,
0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x0d, 0x70, 0x61,
0x74, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x73, 0x62, 0x6f, 0x78, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x73, 0x22, 0x31, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52,
0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x02, 0x28,
0x09, 0x52, 0x02, 0x74, 0x6f, 0x42, 0x23, 0x5a, 0x21, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x73, 0x62, 0x6f, 0x78, 0x2f,
0x73, 0x62, 0x6f, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
} }
func init() { var (
proto.RegisterFile("sbox.proto", fileDescriptor_9d0425bf0de86ed1) file_sbox_proto_rawDescOnce sync.Once
file_sbox_proto_rawDescData = file_sbox_proto_rawDesc
)
func file_sbox_proto_rawDescGZIP() []byte {
file_sbox_proto_rawDescOnce.Do(func() {
file_sbox_proto_rawDescData = protoimpl.X.CompressGZIP(file_sbox_proto_rawDescData)
})
return file_sbox_proto_rawDescData
} }
var fileDescriptor_9d0425bf0de86ed1 = []byte{ var file_sbox_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
// 342 bytes of a gzipped FileDescriptorProto var file_sbox_proto_goTypes = []interface{}{
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x5f, 0x4b, 0xc3, 0x30, (*Manifest)(nil), // 0: sbox.Manifest
0x14, 0xc5, 0x69, 0xd7, 0xb9, 0xf6, 0xee, 0x0f, 0x18, 0x7c, 0xc8, 0x8b, 0x32, 0x0a, 0xc2, 0xa6, (*Command)(nil), // 1: sbox.Command
0x30, 0xd0, 0x07, 0xdf, 0x9d, 0x22, 0x22, 0x0c, 0x24, 0xe0, 0x8b, 0x08, 0x25, 0xeb, 0x52, 0x5b, (*Copy)(nil), // 2: sbox.Copy
0x58, 0x9b, 0x90, 0x64, 0xb0, 0x7d, 0x57, 0x3f, 0x8c, 0xe4, 0xa6, 0xd3, 0x82, 0x2f, 0xbe, 0xdd, (*RspFile)(nil), // 3: sbox.RspFile
0x7b, 0x0e, 0xf7, 0xdc, 0x5f, 0xc2, 0x05, 0x30, 0x6b, 0xb9, 0x5f, 0x28, 0x2d, 0xad, 0x24, 0x91, (*PathMapping)(nil), // 4: sbox.PathMapping
0xab, 0xd3, 0x0f, 0x88, 0x57, 0xbc, 0xa9, 0x0a, 0x61, 0x2c, 0x99, 0x43, 0x9c, 0xcb, 0xba, 0xe6, }
0xcd, 0xc6, 0xd0, 0x60, 0xda, 0x9b, 0x0d, 0x6f, 0xc7, 0x0b, 0x1c, 0x78, 0xf0, 0x2a, 0xfb, 0xb1, var file_sbox_proto_depIdxs = []int32{
0xc9, 0x25, 0x4c, 0xe4, 0xce, 0xaa, 0x9d, 0xcd, 0x36, 0x42, 0x15, 0xd5, 0x56, 0xd0, 0x70, 0x1a, 1, // 0: sbox.Manifest.commands:type_name -> sbox.Command
0xcc, 0x12, 0x36, 0xf6, 0xea, 0xa3, 0x17, 0xd3, 0xaf, 0x00, 0x06, 0xed, 0x30, 0xb9, 0x86, 0x61, 2, // 1: sbox.Command.copy_before:type_name -> sbox.Copy
0x2e, 0xd5, 0x21, 0x5b, 0x8b, 0x42, 0x6a, 0xd1, 0x2e, 0x80, 0xe3, 0x02, 0x75, 0x60, 0xe0, 0xec, 2, // 2: sbox.Command.copy_after:type_name -> sbox.Copy
0x25, 0xba, 0xe4, 0x0c, 0xfa, 0x79, 0xb9, 0xa9, 0x34, 0xc6, 0xc6, 0xcc, 0x37, 0x84, 0xc2, 0xa0, 3, // 3: sbox.Command.rsp_files:type_name -> sbox.RspFile
0x25, 0xa0, 0xbd, 0x69, 0x38, 0x4b, 0xd8, 0xb1, 0x25, 0x73, 0xc0, 0xe9, 0x8c, 0x17, 0x56, 0x68, 4, // 4: sbox.RspFile.path_mappings:type_name -> sbox.PathMapping
0x1a, 0xfd, 0xc9, 0x4e, 0x9c, 0x7b, 0xef, 0x4c, 0x72, 0x0e, 0x50, 0x35, 0x8e, 0xbc, 0xe4, 0xa6, 5, // [5:5] is the sub-list for method output_type
0xa4, 0x7d, 0xc4, 0x4e, 0x50, 0x79, 0xe6, 0xa6, 0x24, 0x57, 0x90, 0x68, 0xa3, 0x32, 0x87, 0x6f, 5, // [5:5] is the sub-list for method input_type
0xe8, 0x49, 0xf7, 0x17, 0x98, 0x51, 0x4f, 0xd5, 0x56, 0xb0, 0x58, 0xfb, 0xc2, 0xa4, 0x2f, 0x10, 5, // [5:5] is the sub-list for extension type_name
0xb9, 0x74, 0x42, 0x20, 0x2a, 0xb4, 0xac, 0x69, 0x80, 0x50, 0x58, 0x93, 0x09, 0x84, 0x56, 0xd2, 5, // [5:5] is the sub-list for extension extendee
0x10, 0x95, 0xd0, 0x4a, 0x72, 0x01, 0x20, 0xf6, 0x22, 0xdf, 0x59, 0xbe, 0xde, 0x0a, 0xda, 0xc3, 0, // [0:5] is the sub-list for field type_name
0x67, 0x75, 0x94, 0xf4, 0x0d, 0x06, 0xed, 0x02, 0x8c, 0x73, 0x5f, 0x7a, 0x8c, 0x73, 0xda, 0x1d, }
0x8c, 0x15, 0xb7, 0x65, 0x56, 0x73, 0xa5, 0xaa, 0xe6, 0xd3, 0xd0, 0x10, 0xd1, 0x4e, 0x3d, 0xda,
0x2b, 0xb7, 0xe5, 0xca, 0x3b, 0x6c, 0xa4, 0x7e, 0x1b, 0x93, 0xde, 0xc0, 0xb0, 0x63, 0xfe, 0x87, func init() { file_sbox_proto_init() }
0x74, 0x39, 0x7a, 0xc7, 0x33, 0xc9, 0xf0, 0x4c, 0xbe, 0x03, 0x00, 0x00, 0xff, 0xff, 0x83, 0x82, func file_sbox_proto_init() {
0xb0, 0xc3, 0x33, 0x02, 0x00, 0x00, if File_sbox_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sbox_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Manifest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sbox_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Command); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sbox_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Copy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sbox_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RspFile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sbox_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PathMapping); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sbox_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_sbox_proto_goTypes,
DependencyIndexes: file_sbox_proto_depIdxs,
MessageInfos: file_sbox_proto_msgTypes,
}.Build()
File_sbox_proto = out.File
file_sbox_proto_rawDesc = nil
file_sbox_proto_goTypes = nil
file_sbox_proto_depIdxs = nil
} }

View File

@@ -15,7 +15,7 @@
syntax = "proto2"; syntax = "proto2";
package sbox; package sbox;
option go_package = "sbox_proto"; option go_package = "android/soong/cmd/sbox/sbox_proto";
// A set of commands to run in a sandbox. // A set of commands to run in a sandbox.
message Manifest { message Manifest {

4
go.mod
View File

@@ -1,10 +1,10 @@
module android/soong module android/soong
require github.com/golang/protobuf v0.0.0 require google.golang.org/protobuf v0.0.0
require github.com/google/blueprint v0.0.0 require github.com/google/blueprint v0.0.0
replace github.com/golang/protobuf v0.0.0 => ../../external/golang-protobuf replace google.golang.org/protobuf v0.0.0 => ../../external/golang-protobuf
replace github.com/google/blueprint v0.0.0 => ../blueprint replace github.com/google/blueprint v0.0.0 => ../blueprint

View File

@@ -59,7 +59,7 @@ function soong_build_go
BUILDDIR=$(getoutdir) \ BUILDDIR=$(getoutdir) \
SRCDIR=${TOP} \ SRCDIR=${TOP} \
BLUEPRINTDIR=${TOP}/build/blueprint \ BLUEPRINTDIR=${TOP}/build/blueprint \
EXTRA_ARGS="-pkg-path android/soong=${TOP}/build/soong -pkg-path github.com/golang/protobuf=${TOP}/external/golang-protobuf" \ EXTRA_ARGS="-pkg-path android/soong=${TOP}/build/soong -pkg-path google.golang.org/protobuf=${TOP}/external/golang-protobuf" \
build_go $@ build_go $@
} }

View File

@@ -346,7 +346,7 @@ readonly BIND_PATHS=(
"${ANDROID_PATH}/build/blueprint|${OUTPUT_PATH}/src/github.com/google/blueprint" "${ANDROID_PATH}/build/blueprint|${OUTPUT_PATH}/src/github.com/google/blueprint"
"${ANDROID_PATH}/build/soong|${OUTPUT_PATH}/src/android/soong" "${ANDROID_PATH}/build/soong|${OUTPUT_PATH}/src/android/soong"
"${ANDROID_PATH}/art/build|${OUTPUT_PATH}/src/android/soong/art" "${ANDROID_PATH}/art/build|${OUTPUT_PATH}/src/android/soong/art"
"${ANDROID_PATH}/external/golang-protobuf|${OUTPUT_PATH}/src/github.com/golang/protobuf" "${ANDROID_PATH}/external/golang-protobuf|${OUTPUT_PATH}/src/google.golang.org/protobuf"
"${ANDROID_PATH}/external/llvm/soong|${OUTPUT_PATH}/src/android/soong/llvm" "${ANDROID_PATH}/external/llvm/soong|${OUTPUT_PATH}/src/android/soong/llvm"
"${ANDROID_PATH}/external/clang/soong|${OUTPUT_PATH}/src/android/soong/clang" "${ANDROID_PATH}/external/clang/soong|${OUTPUT_PATH}/src/android/soong/clang"
"${ANDROID_PATH}/external/robolectric-shadows/soong|${OUTPUT_PATH}/src/android/soong/robolectric" "${ANDROID_PATH}/external/robolectric-shadows/soong|${OUTPUT_PATH}/src/android/soong/robolectric"

View File

@@ -86,6 +86,7 @@ function create_mock_soong {
symlink_directory prebuilts/go symlink_directory prebuilts/go
symlink_directory prebuilts/build-tools symlink_directory prebuilts/build-tools
symlink_directory external/go-cmp
symlink_directory external/golang-protobuf symlink_directory external/golang-protobuf
touch "$MOCK_TOP/Android.bp" touch "$MOCK_TOP/Android.bp"

View File

@@ -25,7 +25,7 @@ import (
"android/soong/shared" "android/soong/shared"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
smpb "android/soong/ui/metrics/metrics_proto" smpb "android/soong/ui/metrics/metrics_proto"
) )

View File

@@ -29,7 +29,7 @@ import (
smpb "android/soong/ui/metrics/metrics_proto" smpb "android/soong/ui/metrics/metrics_proto"
"android/soong/ui/status" "android/soong/ui/status"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
) )
func testContext() Context { func testContext() Context {

View File

@@ -20,7 +20,7 @@ import (
"android/soong/ui/logger" "android/soong/ui/logger"
"android/soong/ui/metrics" "android/soong/ui/metrics"
"android/soong/ui/metrics/metrics_proto" soong_metrics_proto "android/soong/ui/metrics/metrics_proto"
"android/soong/ui/status" "android/soong/ui/status"
"android/soong/ui/tracer" "android/soong/ui/tracer"
) )

View File

@@ -20,18 +20,18 @@ import (
"path/filepath" "path/filepath"
"strconv" "strconv"
"android/soong/shared" "android/soong/ui/metrics"
"github.com/google/blueprint/deptools"
soong_metrics_proto "android/soong/ui/metrics/metrics_proto" soong_metrics_proto "android/soong/ui/metrics/metrics_proto"
"android/soong/ui/status"
"android/soong/shared"
"github.com/google/blueprint" "github.com/google/blueprint"
"github.com/google/blueprint/bootstrap" "github.com/google/blueprint/bootstrap"
"github.com/google/blueprint/deptools"
"github.com/golang/protobuf/proto"
"github.com/google/blueprint/microfactory" "github.com/google/blueprint/microfactory"
"android/soong/ui/metrics" "google.golang.org/protobuf/proto"
"android/soong/ui/status"
) )
const ( const (

View File

@@ -24,7 +24,8 @@ import (
"time" "time"
"android/soong/ui/metrics" "android/soong/ui/metrics"
"github.com/golang/protobuf/proto"
"google.golang.org/protobuf/proto"
upload_proto "android/soong/ui/metrics/upload_proto" upload_proto "android/soong/ui/metrics/upload_proto"
) )

View File

@@ -37,7 +37,10 @@ bootstrap_go_package {
bootstrap_go_package { bootstrap_go_package {
name: "soong-ui-metrics_proto", name: "soong-ui-metrics_proto",
pkgPath: "android/soong/ui/metrics/metrics_proto", pkgPath: "android/soong/ui/metrics/metrics_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"metrics_proto/metrics.pb.go", "metrics_proto/metrics.pb.go",
], ],
@@ -46,7 +49,10 @@ bootstrap_go_package {
bootstrap_go_package { bootstrap_go_package {
name: "soong-ui-metrics_upload_proto", name: "soong-ui-metrics_upload_proto",
pkgPath: "android/soong/ui/metrics/upload_proto", pkgPath: "android/soong/ui/metrics/upload_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"upload_proto/upload.pb.go", "upload_proto/upload.pb.go",
], ],

View File

@@ -30,10 +30,10 @@ import (
"syscall" "syscall"
"time" "time"
"android/soong/ui/metrics/metrics_proto" soong_metrics_proto "android/soong/ui/metrics/metrics_proto"
"android/soong/ui/tracer" "android/soong/ui/tracer"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
) )
// _now wraps the time.Now() function. _now is declared for unit testing purpose. // _now wraps the time.Now() function. _now is declared for unit testing purpose.

View File

@@ -43,9 +43,9 @@ import (
"strings" "strings"
"time" "time"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
"android/soong/ui/metrics/metrics_proto" soong_metrics_proto "android/soong/ui/metrics/metrics_proto"
) )
const ( const (

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@
syntax = "proto2"; syntax = "proto2";
package soong_build_metrics; package soong_build_metrics;
option go_package = "soong_metrics_proto"; option go_package = "android/soong/ui/metrics/metrics_proto";
message MetricsBase { message MetricsBase {
// Timestamp generated when the build starts. // Timestamp generated when the build starts.

View File

@@ -1,26 +1,44 @@
// Copyright 2020 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: upload.proto // source: upload.proto
package soong_metrics_upload_proto package upload_proto
import ( import (
fmt "fmt" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
proto "github.com/golang/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
math "math" reflect "reflect"
sync "sync"
) )
// Reference imports to suppress errors if they are not otherwise used. const (
var _ = proto.Marshal // Verify that this generated code is sufficiently up-to-date.
var _ = fmt.Errorf _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
var _ = math.Inf // Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
// This is a compile-time assertion to ensure that this generated file )
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type Upload struct { type Upload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The timestamp in milliseconds that the build was created. // The timestamp in milliseconds that the build was created.
CreationTimestampMs *uint64 `protobuf:"varint,1,opt,name=creation_timestamp_ms,json=creationTimestampMs" json:"creation_timestamp_ms,omitempty"` CreationTimestampMs *uint64 `protobuf:"varint,1,opt,name=creation_timestamp_ms,json=creationTimestampMs" json:"creation_timestamp_ms,omitempty"`
// The timestamp in milliseconds when the build was completed. // The timestamp in milliseconds when the build was completed.
@@ -33,102 +51,169 @@ type Upload struct {
MetricsFiles []string `protobuf:"bytes,5,rep,name=metrics_files,json=metricsFiles" json:"metrics_files,omitempty"` MetricsFiles []string `protobuf:"bytes,5,rep,name=metrics_files,json=metricsFiles" json:"metrics_files,omitempty"`
// A list of directories to delete after the copy of metrics files // A list of directories to delete after the copy of metrics files
// is completed for uploading. // is completed for uploading.
DirectoriesToDelete []string `protobuf:"bytes,6,rep,name=directories_to_delete,json=directoriesToDelete" json:"directories_to_delete,omitempty"` DirectoriesToDelete []string `protobuf:"bytes,6,rep,name=directories_to_delete,json=directoriesToDelete" json:"directories_to_delete,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *Upload) Reset() { *m = Upload{} } func (x *Upload) Reset() {
func (m *Upload) String() string { return proto.CompactTextString(m) } *x = Upload{}
func (*Upload) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_upload_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Upload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Upload) ProtoMessage() {}
func (x *Upload) ProtoReflect() protoreflect.Message {
mi := &file_upload_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Upload.ProtoReflect.Descriptor instead.
func (*Upload) Descriptor() ([]byte, []int) { func (*Upload) Descriptor() ([]byte, []int) {
return fileDescriptor_91b94b655bd2a7e5, []int{0} return file_upload_proto_rawDescGZIP(), []int{0}
} }
func (m *Upload) XXX_Unmarshal(b []byte) error { func (x *Upload) GetCreationTimestampMs() uint64 {
return xxx_messageInfo_Upload.Unmarshal(m, b) if x != nil && x.CreationTimestampMs != nil {
} return *x.CreationTimestampMs
func (m *Upload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Upload.Marshal(b, m, deterministic)
}
func (m *Upload) XXX_Merge(src proto.Message) {
xxx_messageInfo_Upload.Merge(m, src)
}
func (m *Upload) XXX_Size() int {
return xxx_messageInfo_Upload.Size(m)
}
func (m *Upload) XXX_DiscardUnknown() {
xxx_messageInfo_Upload.DiscardUnknown(m)
}
var xxx_messageInfo_Upload proto.InternalMessageInfo
func (m *Upload) GetCreationTimestampMs() uint64 {
if m != nil && m.CreationTimestampMs != nil {
return *m.CreationTimestampMs
} }
return 0 return 0
} }
func (m *Upload) GetCompletionTimestampMs() uint64 { func (x *Upload) GetCompletionTimestampMs() uint64 {
if m != nil && m.CompletionTimestampMs != nil { if x != nil && x.CompletionTimestampMs != nil {
return *m.CompletionTimestampMs return *x.CompletionTimestampMs
} }
return 0 return 0
} }
func (m *Upload) GetBranchName() string { func (x *Upload) GetBranchName() string {
if m != nil && m.BranchName != nil { if x != nil && x.BranchName != nil {
return *m.BranchName return *x.BranchName
} }
return "" return ""
} }
func (m *Upload) GetTargetName() string { func (x *Upload) GetTargetName() string {
if m != nil && m.TargetName != nil { if x != nil && x.TargetName != nil {
return *m.TargetName return *x.TargetName
} }
return "" return ""
} }
func (m *Upload) GetMetricsFiles() []string { func (x *Upload) GetMetricsFiles() []string {
if m != nil { if x != nil {
return m.MetricsFiles return x.MetricsFiles
} }
return nil return nil
} }
func (m *Upload) GetDirectoriesToDelete() []string { func (x *Upload) GetDirectoriesToDelete() []string {
if m != nil { if x != nil {
return m.DirectoriesToDelete return x.DirectoriesToDelete
} }
return nil return nil
} }
func init() { var File_upload_proto protoreflect.FileDescriptor
proto.RegisterType((*Upload)(nil), "soong_metrics_upload.Upload")
var file_upload_proto_rawDesc = []byte{
0x0a, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14,
0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x75, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x22, 0x8f, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12,
0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13,
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x4d, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a,
0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c,
0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65,
0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28,
0x09, 0x52, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
} }
func init() { var (
proto.RegisterFile("upload.proto", fileDescriptor_91b94b655bd2a7e5) file_upload_proto_rawDescOnce sync.Once
file_upload_proto_rawDescData = file_upload_proto_rawDesc
)
func file_upload_proto_rawDescGZIP() []byte {
file_upload_proto_rawDescOnce.Do(func() {
file_upload_proto_rawDescData = protoimpl.X.CompressGZIP(file_upload_proto_rawDescData)
})
return file_upload_proto_rawDescData
} }
var fileDescriptor_91b94b655bd2a7e5 = []byte{ var file_upload_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
// 230 bytes of a gzipped FileDescriptorProto var file_upload_proto_goTypes = []interface{}{
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4a, 0x04, 0x31, (*Upload)(nil), // 0: soong_metrics_upload.Upload
0x10, 0x86, 0xd9, 0xbb, 0xf3, 0xe0, 0xe2, 0xd9, 0xec, 0x79, 0x18, 0x44, 0x70, 0xd1, 0x66, 0x2b, }
0x0b, 0x0b, 0x1f, 0x40, 0xc4, 0x4e, 0x8b, 0xe5, 0x6c, 0x6c, 0x86, 0x98, 0x1d, 0xd7, 0x40, 0x92, var file_upload_proto_depIdxs = []int32{
0x09, 0xc9, 0xf8, 0x1c, 0xbe, 0xb2, 0x6c, 0xe2, 0xe2, 0x82, 0x76, 0xc3, 0xff, 0x7d, 0x7f, 0x31, 0, // [0:0] is the sub-list for method output_type
0xbf, 0xd8, 0x7e, 0x06, 0x4b, 0xaa, 0xbf, 0x09, 0x91, 0x98, 0xea, 0xd3, 0x44, 0xe4, 0x07, 0x70, 0, // [0:0] is the sub-list for method input_type
0xc8, 0xd1, 0xe8, 0x04, 0x85, 0x5d, 0x7d, 0x2d, 0xc4, 0xfa, 0x25, 0x9f, 0xf5, 0xad, 0xd8, 0xeb, 0, // [0:0] is the sub-list for extension type_name
0x88, 0x8a, 0x0d, 0x79, 0x60, 0xe3, 0x30, 0xb1, 0x72, 0x01, 0x5c, 0x92, 0x55, 0x53, 0xb5, 0xab, 0, // [0:0] is the sub-list for extension extendee
0x6e, 0x37, 0xc1, 0xc3, 0xc4, 0x9e, 0x52, 0x7d, 0x27, 0xce, 0x34, 0xb9, 0x60, 0xf1, 0x6f, 0x6b, 0, // [0:0] is the sub-list for field type_name
0x91, 0x5b, 0xfb, 0x5f, 0x3c, 0xef, 0x5d, 0x8a, 0xe3, 0xb7, 0xa8, 0xbc, 0xfe, 0x00, 0xaf, 0x1c, }
0xca, 0x65, 0x53, 0xb5, 0x9b, 0x4e, 0x94, 0xe8, 0x59, 0x39, 0x1c, 0x05, 0x56, 0x71, 0x40, 0x2e,
0xc2, 0xaa, 0x08, 0x25, 0xca, 0xc2, 0xb5, 0x38, 0x99, 0x5e, 0x79, 0x37, 0x16, 0x93, 0x3c, 0x6a, func init() { file_upload_proto_init() }
0x96, 0xed, 0xa6, 0xdb, 0xfe, 0x84, 0x8f, 0x63, 0x36, 0xbe, 0xd4, 0x9b, 0x88, 0x9a, 0x29, 0x1a, func file_upload_proto_init() {
0x4c, 0xc0, 0x04, 0x3d, 0x5a, 0x64, 0x94, 0xeb, 0x2c, 0xef, 0x66, 0xf0, 0x40, 0x0f, 0x19, 0xdd, if File_upload_proto != nil {
0x5f, 0xbc, 0x9e, 0xff, 0xb7, 0x14, 0xe4, 0x15, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x64, 0x04, return
0xa8, 0xf4, 0x54, 0x01, 0x00, 0x00, }
if !protoimpl.UnsafeEnabled {
file_upload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Upload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_upload_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_upload_proto_goTypes,
DependencyIndexes: file_upload_proto_depIdxs,
MessageInfos: file_upload_proto_msgTypes,
}.Build()
File_upload_proto = out.File
file_upload_proto_rawDesc = nil
file_upload_proto_goTypes = nil
file_upload_proto_depIdxs = nil
} }

View File

@@ -15,7 +15,7 @@
syntax = "proto2"; syntax = "proto2";
package soong_metrics_upload; package soong_metrics_upload;
option go_package = "soong_metrics_upload_proto"; option go_package = "android/soong/ui/metrics/upload_proto";
message Upload { message Upload {
// The timestamp in milliseconds that the build was created. // The timestamp in milliseconds that the build was created.

View File

@@ -44,7 +44,10 @@ bootstrap_go_package {
bootstrap_go_package { bootstrap_go_package {
name: "soong-ui-status-ninja_frontend", name: "soong-ui-status-ninja_frontend",
pkgPath: "android/soong/ui/status/ninja_frontend", pkgPath: "android/soong/ui/status/ninja_frontend",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"ninja_frontend/frontend.pb.go", "ninja_frontend/frontend.pb.go",
], ],
@@ -53,7 +56,10 @@ bootstrap_go_package {
bootstrap_go_package { bootstrap_go_package {
name: "soong-ui-status-build_error_proto", name: "soong-ui-status-build_error_proto",
pkgPath: "android/soong/ui/status/build_error_proto", pkgPath: "android/soong/ui/status/build_error_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"build_error_proto/build_error.pb.go", "build_error_proto/build_error.pb.go",
], ],
@@ -62,7 +68,10 @@ bootstrap_go_package {
bootstrap_go_package { bootstrap_go_package {
name: "soong-ui-status-build_progress_proto", name: "soong-ui-status-build_progress_proto",
pkgPath: "android/soong/ui/status/build_progress_proto", pkgPath: "android/soong/ui/status/build_progress_proto",
deps: ["golang-protobuf-proto"], deps: [
"golang-protobuf-reflect-protoreflect",
"golang-protobuf-runtime-protoimpl",
],
srcs: [ srcs: [
"build_progress_proto/build_progress.pb.go", "build_progress_proto/build_progress.pb.go",
], ],

View File

@@ -1,71 +1,93 @@
// Copyright 2019 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: build_error.proto // source: build_error.proto
package soong_build_error_proto package build_error_proto
import ( import (
fmt "fmt" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
proto "github.com/golang/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
math "math" reflect "reflect"
sync "sync"
) )
// Reference imports to suppress errors if they are not otherwise used. const (
var _ = proto.Marshal // Verify that this generated code is sufficiently up-to-date.
var _ = fmt.Errorf _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
var _ = math.Inf // Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
// This is a compile-time assertion to ensure that this generated file )
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type BuildError struct { type BuildError struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of error messages of the overall build. The error messages // List of error messages of the overall build. The error messages
// are not associated with a build action. // are not associated with a build action.
ErrorMessages []string `protobuf:"bytes,1,rep,name=error_messages,json=errorMessages" json:"error_messages,omitempty"` ErrorMessages []string `protobuf:"bytes,1,rep,name=error_messages,json=errorMessages" json:"error_messages,omitempty"`
// List of build action errors. // List of build action errors.
ActionErrors []*BuildActionError `protobuf:"bytes,2,rep,name=action_errors,json=actionErrors" json:"action_errors,omitempty"` ActionErrors []*BuildActionError `protobuf:"bytes,2,rep,name=action_errors,json=actionErrors" json:"action_errors,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *BuildError) Reset() { *m = BuildError{} } func (x *BuildError) Reset() {
func (m *BuildError) String() string { return proto.CompactTextString(m) } *x = BuildError{}
func (*BuildError) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_build_error_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildError) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildError) ProtoMessage() {}
func (x *BuildError) ProtoReflect() protoreflect.Message {
mi := &file_build_error_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildError.ProtoReflect.Descriptor instead.
func (*BuildError) Descriptor() ([]byte, []int) { func (*BuildError) Descriptor() ([]byte, []int) {
return fileDescriptor_a2e15b05802a5501, []int{0} return file_build_error_proto_rawDescGZIP(), []int{0}
} }
func (m *BuildError) XXX_Unmarshal(b []byte) error { func (x *BuildError) GetErrorMessages() []string {
return xxx_messageInfo_BuildError.Unmarshal(m, b) if x != nil {
} return x.ErrorMessages
func (m *BuildError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BuildError.Marshal(b, m, deterministic)
}
func (m *BuildError) XXX_Merge(src proto.Message) {
xxx_messageInfo_BuildError.Merge(m, src)
}
func (m *BuildError) XXX_Size() int {
return xxx_messageInfo_BuildError.Size(m)
}
func (m *BuildError) XXX_DiscardUnknown() {
xxx_messageInfo_BuildError.DiscardUnknown(m)
}
var xxx_messageInfo_BuildError proto.InternalMessageInfo
func (m *BuildError) GetErrorMessages() []string {
if m != nil {
return m.ErrorMessages
} }
return nil return nil
} }
func (m *BuildError) GetActionErrors() []*BuildActionError { func (x *BuildError) GetActionErrors() []*BuildActionError {
if m != nil { if x != nil {
return m.ActionErrors return x.ActionErrors
} }
return nil return nil
} }
@@ -73,6 +95,10 @@ func (m *BuildError) GetActionErrors() []*BuildActionError {
// Build is composed of a list of build action. There can be a set of build // Build is composed of a list of build action. There can be a set of build
// actions that can failed. // actions that can failed.
type BuildActionError struct { type BuildActionError struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Description of the command. // Description of the command.
Description *string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"` Description *string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
// The command name that raised the error. // The command name that raised the error.
@@ -82,94 +108,177 @@ type BuildActionError struct {
// List of artifacts (i.e. files) that was produced by the command. // List of artifacts (i.e. files) that was produced by the command.
Artifacts []string `protobuf:"bytes,4,rep,name=artifacts" json:"artifacts,omitempty"` Artifacts []string `protobuf:"bytes,4,rep,name=artifacts" json:"artifacts,omitempty"`
// The error string produced by the build action. // The error string produced by the build action.
Error *string `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"` Error *string `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *BuildActionError) Reset() { *m = BuildActionError{} } func (x *BuildActionError) Reset() {
func (m *BuildActionError) String() string { return proto.CompactTextString(m) } *x = BuildActionError{}
func (*BuildActionError) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_build_error_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildActionError) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildActionError) ProtoMessage() {}
func (x *BuildActionError) ProtoReflect() protoreflect.Message {
mi := &file_build_error_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildActionError.ProtoReflect.Descriptor instead.
func (*BuildActionError) Descriptor() ([]byte, []int) { func (*BuildActionError) Descriptor() ([]byte, []int) {
return fileDescriptor_a2e15b05802a5501, []int{1} return file_build_error_proto_rawDescGZIP(), []int{1}
} }
func (m *BuildActionError) XXX_Unmarshal(b []byte) error { func (x *BuildActionError) GetDescription() string {
return xxx_messageInfo_BuildActionError.Unmarshal(m, b) if x != nil && x.Description != nil {
} return *x.Description
func (m *BuildActionError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BuildActionError.Marshal(b, m, deterministic)
}
func (m *BuildActionError) XXX_Merge(src proto.Message) {
xxx_messageInfo_BuildActionError.Merge(m, src)
}
func (m *BuildActionError) XXX_Size() int {
return xxx_messageInfo_BuildActionError.Size(m)
}
func (m *BuildActionError) XXX_DiscardUnknown() {
xxx_messageInfo_BuildActionError.DiscardUnknown(m)
}
var xxx_messageInfo_BuildActionError proto.InternalMessageInfo
func (m *BuildActionError) GetDescription() string {
if m != nil && m.Description != nil {
return *m.Description
} }
return "" return ""
} }
func (m *BuildActionError) GetCommand() string { func (x *BuildActionError) GetCommand() string {
if m != nil && m.Command != nil { if x != nil && x.Command != nil {
return *m.Command return *x.Command
} }
return "" return ""
} }
func (m *BuildActionError) GetOutput() string { func (x *BuildActionError) GetOutput() string {
if m != nil && m.Output != nil { if x != nil && x.Output != nil {
return *m.Output return *x.Output
} }
return "" return ""
} }
func (m *BuildActionError) GetArtifacts() []string { func (x *BuildActionError) GetArtifacts() []string {
if m != nil { if x != nil {
return m.Artifacts return x.Artifacts
} }
return nil return nil
} }
func (m *BuildActionError) GetError() string { func (x *BuildActionError) GetError() string {
if m != nil && m.Error != nil { if x != nil && x.Error != nil {
return *m.Error return *x.Error
} }
return "" return ""
} }
func init() { var File_build_error_proto protoreflect.FileDescriptor
proto.RegisterType((*BuildError)(nil), "soong_build_error.BuildError")
proto.RegisterType((*BuildActionError)(nil), "soong_build_error.BuildActionError") var file_build_error_proto_rawDesc = []byte{
0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x11, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x7d, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0d, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c,
0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x42, 0x2b, 0x5a, 0x29, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f,
0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
} }
func init() { proto.RegisterFile("build_error.proto", fileDescriptor_a2e15b05802a5501) } var (
file_build_error_proto_rawDescOnce sync.Once
file_build_error_proto_rawDescData = file_build_error_proto_rawDesc
)
var fileDescriptor_a2e15b05802a5501 = []byte{ func file_build_error_proto_rawDescGZIP() []byte {
// 229 bytes of a gzipped FileDescriptorProto file_build_error_proto_rawDescOnce.Do(func() {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xc1, 0x4a, 0xc3, 0x40, file_build_error_proto_rawDescData = protoimpl.X.CompressGZIP(file_build_error_proto_rawDescData)
0x10, 0x86, 0x49, 0x63, 0x95, 0x4c, 0xad, 0xd8, 0x41, 0x74, 0x04, 0x0f, 0xa1, 0x22, 0xe4, 0x94, })
0x83, 0x6f, 0x60, 0x41, 0xf0, 0xe2, 0x25, 0x47, 0x2f, 0x61, 0xdd, 0xac, 0x65, 0xc1, 0x64, 0xc2, return file_build_error_proto_rawDescData
0xce, 0xe6, 0xe8, 0x8b, 0xf8, 0xb4, 0x92, 0x69, 0xa5, 0xa5, 0x39, 0x7e, 0xdf, 0x3f, 0xfb, 0xef, }
0xce, 0xc2, 0xea, 0x73, 0xf0, 0xdf, 0x4d, 0xed, 0x42, 0xe0, 0x50, 0xf6, 0x81, 0x23, 0xe3, 0x4a,
0x98, 0xbb, 0x6d, 0x7d, 0x14, 0xac, 0x7f, 0x00, 0x36, 0x23, 0xbe, 0x8e, 0x84, 0x4f, 0x70, 0xa5, var file_build_error_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
0xba, 0x6e, 0x9d, 0x88, 0xd9, 0x3a, 0xa1, 0x24, 0x4f, 0x8b, 0xac, 0x5a, 0xaa, 0x7d, 0xdf, 0x4b, var file_build_error_proto_goTypes = []interface{}{
0x7c, 0x83, 0xa5, 0xb1, 0xd1, 0x73, 0xb7, 0x2b, 0x11, 0x9a, 0xe5, 0x69, 0xb1, 0x78, 0x7e, 0x2c, (*BuildError)(nil), // 0: soong_build_error.BuildError
0x27, 0xfd, 0xa5, 0x96, 0xbf, 0xe8, 0xb0, 0x5e, 0x51, 0x5d, 0x9a, 0x03, 0xc8, 0xfa, 0x37, 0x81, (*BuildActionError)(nil), // 1: soong_build_error.BuildActionError
0xeb, 0xd3, 0x11, 0xcc, 0x61, 0xd1, 0x38, 0xb1, 0xc1, 0xf7, 0xa3, 0xa3, 0x24, 0x4f, 0x8a, 0xac, }
0x3a, 0x56, 0x48, 0x70, 0x61, 0xb9, 0x6d, 0x4d, 0xd7, 0xd0, 0x4c, 0xd3, 0x7f, 0xc4, 0x5b, 0x38, var file_build_error_proto_depIdxs = []int32{
0xe7, 0x21, 0xf6, 0x43, 0xa4, 0x54, 0x83, 0x3d, 0xe1, 0x03, 0x64, 0x26, 0x44, 0xff, 0x65, 0x6c, 1, // 0: soong_build_error.BuildError.action_errors:type_name -> soong_build_error.BuildActionError
0x14, 0x3a, 0xd3, 0xa5, 0x0e, 0x02, 0x6f, 0x60, 0xae, 0xcf, 0xa5, 0xb9, 0x1e, 0xda, 0xc1, 0xe6, 1, // [1:1] is the sub-list for method output_type
0xfe, 0xe3, 0x6e, 0xb2, 0x50, 0xad, 0x3f, 0xf9, 0x17, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x18, 0x9e, 1, // [1:1] is the sub-list for method input_type
0x17, 0x5d, 0x01, 0x00, 0x00, 1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_build_error_proto_init() }
func file_build_error_proto_init() {
if File_build_error_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_build_error_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildError); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_build_error_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildActionError); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_build_error_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_build_error_proto_goTypes,
DependencyIndexes: file_build_error_proto_depIdxs,
MessageInfos: file_build_error_proto_msgTypes,
}.Build()
File_build_error_proto = out.File
file_build_error_proto_rawDesc = nil
file_build_error_proto_goTypes = nil
file_build_error_proto_depIdxs = nil
} }

View File

@@ -15,7 +15,7 @@
syntax = "proto2"; syntax = "proto2";
package soong_build_error; package soong_build_error;
option go_package = "soong_build_error_proto"; option go_package = "android/soong/ui/status/build_error_proto";
message BuildError { message BuildError {
// List of error messages of the overall build. The error messages // List of error messages of the overall build. The error messages

View File

@@ -1,26 +1,44 @@
// Copyright 2020 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: build_progress.proto // source: build_progress.proto
package soong_build_progress_proto package build_progress_proto
import ( import (
fmt "fmt" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
proto "github.com/golang/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
math "math" reflect "reflect"
sync "sync"
) )
// Reference imports to suppress errors if they are not otherwise used. const (
var _ = proto.Marshal // Verify that this generated code is sufficiently up-to-date.
var _ = fmt.Errorf _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
var _ = math.Inf // Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
// This is a compile-time assertion to ensure that this generated file )
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type BuildProgress struct { type BuildProgress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total number of actions in a build. The total actions will increase // Total number of actions in a build. The total actions will increase
// and might decrease during the course of a build. // and might decrease during the course of a build.
TotalActions *uint64 `protobuf:"varint,1,opt,name=total_actions,json=totalActions" json:"total_actions,omitempty"` TotalActions *uint64 `protobuf:"varint,1,opt,name=total_actions,json=totalActions" json:"total_actions,omitempty"`
@@ -34,82 +52,150 @@ type BuildProgress struct {
// build and current_actions + finished_actions <= total_actions. // build and current_actions + finished_actions <= total_actions.
CurrentActions *uint64 `protobuf:"varint,3,opt,name=current_actions,json=currentActions" json:"current_actions,omitempty"` CurrentActions *uint64 `protobuf:"varint,3,opt,name=current_actions,json=currentActions" json:"current_actions,omitempty"`
// Total number of actions that reported as a failure. // Total number of actions that reported as a failure.
FailedActions *uint64 `protobuf:"varint,4,opt,name=failed_actions,json=failedActions" json:"failed_actions,omitempty"` FailedActions *uint64 `protobuf:"varint,4,opt,name=failed_actions,json=failedActions" json:"failed_actions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *BuildProgress) Reset() { *m = BuildProgress{} } func (x *BuildProgress) Reset() {
func (m *BuildProgress) String() string { return proto.CompactTextString(m) } *x = BuildProgress{}
func (*BuildProgress) ProtoMessage() {} if protoimpl.UnsafeEnabled {
mi := &file_build_progress_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildProgress) ProtoMessage() {}
func (x *BuildProgress) ProtoReflect() protoreflect.Message {
mi := &file_build_progress_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildProgress.ProtoReflect.Descriptor instead.
func (*BuildProgress) Descriptor() ([]byte, []int) { func (*BuildProgress) Descriptor() ([]byte, []int) {
return fileDescriptor_a8a463f8e30dab2e, []int{0} return file_build_progress_proto_rawDescGZIP(), []int{0}
} }
func (m *BuildProgress) XXX_Unmarshal(b []byte) error { func (x *BuildProgress) GetTotalActions() uint64 {
return xxx_messageInfo_BuildProgress.Unmarshal(m, b) if x != nil && x.TotalActions != nil {
} return *x.TotalActions
func (m *BuildProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BuildProgress.Marshal(b, m, deterministic)
}
func (m *BuildProgress) XXX_Merge(src proto.Message) {
xxx_messageInfo_BuildProgress.Merge(m, src)
}
func (m *BuildProgress) XXX_Size() int {
return xxx_messageInfo_BuildProgress.Size(m)
}
func (m *BuildProgress) XXX_DiscardUnknown() {
xxx_messageInfo_BuildProgress.DiscardUnknown(m)
}
var xxx_messageInfo_BuildProgress proto.InternalMessageInfo
func (m *BuildProgress) GetTotalActions() uint64 {
if m != nil && m.TotalActions != nil {
return *m.TotalActions
} }
return 0 return 0
} }
func (m *BuildProgress) GetFinishedActions() uint64 { func (x *BuildProgress) GetFinishedActions() uint64 {
if m != nil && m.FinishedActions != nil { if x != nil && x.FinishedActions != nil {
return *m.FinishedActions return *x.FinishedActions
} }
return 0 return 0
} }
func (m *BuildProgress) GetCurrentActions() uint64 { func (x *BuildProgress) GetCurrentActions() uint64 {
if m != nil && m.CurrentActions != nil { if x != nil && x.CurrentActions != nil {
return *m.CurrentActions return *x.CurrentActions
} }
return 0 return 0
} }
func (m *BuildProgress) GetFailedActions() uint64 { func (x *BuildProgress) GetFailedActions() uint64 {
if m != nil && m.FailedActions != nil { if x != nil && x.FailedActions != nil {
return *m.FailedActions return *x.FailedActions
} }
return 0 return 0
} }
func init() { var File_build_progress_proto protoreflect.FileDescriptor
proto.RegisterType((*BuildProgress)(nil), "soong_build_progress.BuildProgress")
var file_build_progress_proto_rawDesc = []byte{
0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a,
0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23,
0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x66,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27,
0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x2e,
0x5a, 0x2c, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f,
0x75, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
} }
func init() { proto.RegisterFile("build_progress.proto", fileDescriptor_a8a463f8e30dab2e) } var (
file_build_progress_proto_rawDescOnce sync.Once
file_build_progress_proto_rawDescData = file_build_progress_proto_rawDesc
)
var fileDescriptor_a8a463f8e30dab2e = []byte{ func file_build_progress_proto_rawDescGZIP() []byte {
// 165 bytes of a gzipped FileDescriptorProto file_build_progress_proto_rawDescOnce.Do(func() {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x49, 0x2a, 0xcd, 0xcc, file_build_progress_proto_rawDescData = protoimpl.X.CompressGZIP(file_build_progress_proto_rawDescData)
0x49, 0x89, 0x2f, 0x28, 0xca, 0x4f, 0x2f, 0x4a, 0x2d, 0x2e, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, })
0x17, 0x12, 0x29, 0xce, 0xcf, 0xcf, 0x4b, 0x8f, 0x47, 0x95, 0x53, 0x5a, 0xcf, 0xc8, 0xc5, 0xeb, return file_build_progress_proto_rawDescData
0x04, 0x12, 0x0a, 0x80, 0x8a, 0x08, 0x29, 0x73, 0xf1, 0x96, 0xe4, 0x97, 0x24, 0xe6, 0xc4, 0x27, }
0x26, 0x97, 0x64, 0xe6, 0xe7, 0x15, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0xb0, 0x04, 0xf1, 0x80, 0x05,
0x1d, 0x21, 0x62, 0x42, 0x9a, 0x5c, 0x02, 0x69, 0x99, 0x79, 0x99, 0xc5, 0x19, 0xa9, 0x29, 0x70, var file_build_progress_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
0x75, 0x4c, 0x60, 0x75, 0xfc, 0x30, 0x71, 0x98, 0x52, 0x75, 0x2e, 0xfe, 0xe4, 0xd2, 0xa2, 0xa2, var file_build_progress_proto_goTypes = []interface{}{
0xd4, 0xbc, 0x12, 0xb8, 0x4a, 0x66, 0xb0, 0x4a, 0x3e, 0xa8, 0x30, 0x4c, 0xa1, 0x2a, 0x17, 0x5f, (*BuildProgress)(nil), // 0: soong_build_progress.BuildProgress
0x5a, 0x62, 0x66, 0x0e, 0x92, 0x89, 0x2c, 0x60, 0x75, 0xbc, 0x10, 0x51, 0xa8, 0x32, 0x27, 0x99, }
0x28, 0x29, 0x6c, 0x3e, 0x89, 0x07, 0xfb, 0x12, 0x10, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x6e, 0xc1, var file_build_progress_proto_depIdxs = []int32{
0xef, 0xfc, 0x00, 0x00, 0x00, 0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_build_progress_proto_init() }
func file_build_progress_proto_init() {
if File_build_progress_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_build_progress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildProgress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_build_progress_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_build_progress_proto_goTypes,
DependencyIndexes: file_build_progress_proto_depIdxs,
MessageInfos: file_build_progress_proto_msgTypes,
}.Build()
File_build_progress_proto = out.File
file_build_progress_proto_rawDesc = nil
file_build_progress_proto_goTypes = nil
file_build_progress_proto_depIdxs = nil
} }

View File

@@ -15,7 +15,7 @@
syntax = "proto2"; syntax = "proto2";
package soong_build_progress; package soong_build_progress;
option go_package = "soong_build_progress_proto"; option go_package = "android/soong/ui/status/build_progress_proto";
message BuildProgress { message BuildProgress {
// Total number of actions in a build. The total actions will increase // Total number of actions in a build. The total actions will increase

View File

@@ -23,11 +23,11 @@ import (
"os" "os"
"strings" "strings"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
"android/soong/ui/logger" "android/soong/ui/logger"
"android/soong/ui/status/build_error_proto" soong_build_error_proto "android/soong/ui/status/build_error_proto"
"android/soong/ui/status/build_progress_proto" soong_build_progress_proto "android/soong/ui/status/build_progress_proto"
) )
type verboseLog struct { type verboseLog struct {

View File

@@ -24,7 +24,7 @@ import (
"syscall" "syscall"
"time" "time"
"github.com/golang/protobuf/proto" "google.golang.org/protobuf/proto"
"android/soong/ui/logger" "android/soong/ui/logger"
"android/soong/ui/status/ninja_frontend" "android/soong/ui/status/ninja_frontend"

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@ syntax = "proto2";
option optimize_for = LITE_RUNTIME; option optimize_for = LITE_RUNTIME;
package ninja; package ninja;
option go_package = "ninja_frontend"; option go_package = "android/soong/ui/status/ninja_frontend";
message Status { message Status {
message TotalEdges { message TotalEdges {