From f9096bf63ae77ecaf8f61da135160a6db2787cf4 Mon Sep 17 00:00:00 2001 From: Stephen Hines Date: Mon, 5 Oct 2020 16:42:42 -0700 Subject: [PATCH 01/15] Update to r383902b1. This brings in a fix for ASan that was requested by partners. Bug: http://b/167642019 Bug: https://issuetracker.google.com/159095144 Bug: https://issuetracker.google.com/167642019 Test: m Change-Id: I1471a1e1ebc8a749b78038a8900a1b8d3fd4d017 Merged-In: I34d26da72a36b16491cf328075d817b073acfc0d --- cc/config/global.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cc/config/global.go b/cc/config/global.go index 57d8db96b..473c8067d 100644 --- a/cc/config/global.go +++ b/cc/config/global.go @@ -128,7 +128,7 @@ var ( // prebuilts/clang default settings. ClangDefaultBase = "prebuilts/clang/host" - ClangDefaultVersion = "clang-r383902b" + ClangDefaultVersion = "clang-r383902b1" ClangDefaultShortVersion = "11.0.2" // Directories with warnings from Android.bp files. From 8fe023c5518dd8329dede6902aa1baf6c9c384a0 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Thu, 13 Aug 2020 19:37:22 +0100 Subject: [PATCH 02/15] Add a tagged output for app's exportPackage This allows the android stubs to depend on framework-res' exportPackage without special-casing inside the build system. Bug: 161214753 Test: depending on this output in a followup CL Merged-In: I8c5d17540d2624974983d73e56ba17898505dba8 Change-Id: I8c5d17540d2624974983d73e56ba17898505dba8 --- java/app.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/app.go b/java/app.go index e75d8749f..2ec27f3df 100755 --- a/java/app.go +++ b/java/app.go @@ -969,6 +969,8 @@ func (a *AndroidApp) OutputFiles(tag string) (android.Paths, error) { switch tag { case ".aapt.srcjar": return []android.Path{a.aaptSrcJar}, nil + case ".export-package.apk": + return []android.Path{a.exportPackage}, nil } return a.Library.OutputFiles(tag) } From af7b75b8dbddad892f0037b9f5b6574855780bcd Mon Sep 17 00:00:00 2001 From: Patrice Arruda Date: Mon, 12 Oct 2020 22:38:06 +0000 Subject: [PATCH 03/15] Collect the hostname of the machine as a metric. The hostname is collected during a build to determine where the user is build from (from office workstation, cloudtop, etc...). This is a useful metrics for RBE related builds. Bug: b/169395325 Test: m nothing, ran printproto to verify that soong_metrics has the hostname. Change-Id: I3e5d64f948ae43c5dda60de1d4a52b187e36dff8 Merged-In: I3e5d64f948ae43c5dda60de1d4a52b187e36dff8 Merged-In: Ib6898b49c16a830d814efe74581bde463caedf76 --- ui/metrics/metrics.go | 7 +- ui/metrics/metrics_proto/metrics.pb.go | 130 +++++++++++++------------ ui/metrics/metrics_proto/metrics.proto | 3 + 3 files changed, 79 insertions(+), 61 deletions(-) diff --git a/ui/metrics/metrics.go b/ui/metrics/metrics.go index 9929b9eb5..1d7e00b19 100644 --- a/ui/metrics/metrics.go +++ b/ui/metrics/metrics.go @@ -141,7 +141,12 @@ func (m *Metrics) Serialize() (data []byte, err error) { } // exports the output to the file at outputPath -func (m *Metrics) Dump(outputPath string) (err error) { +func (m *Metrics) Dump(outputPath string) error { + // ignore the error if the hostname could not be retrieved as it + // is not a critical metric to extract. + if hostname, err := os.Hostname(); err == nil { + m.metrics.Hostname = proto.String(hostname) + } m.metrics.HostOs = proto.String(runtime.GOOS) data, err := m.Serialize() if err != nil { diff --git a/ui/metrics/metrics_proto/metrics.pb.go b/ui/metrics/metrics_proto/metrics.pb.go index 7f7024f79..ccc903b82 100644 --- a/ui/metrics/metrics_proto/metrics.pb.go +++ b/ui/metrics/metrics_proto/metrics.pb.go @@ -195,11 +195,13 @@ type MetricsBase struct { // The metrics for calling Soong. SoongRuns []*PerfInfo `protobuf:"bytes,19,rep,name=soong_runs,json=soongRuns" json:"soong_runs,omitempty"` // The metrics for calling Ninja. - NinjaRuns []*PerfInfo `protobuf:"bytes,20,rep,name=ninja_runs,json=ninjaRuns" json:"ninja_runs,omitempty"` - BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NinjaRuns []*PerfInfo `protobuf:"bytes,20,rep,name=ninja_runs,json=ninjaRuns" json:"ninja_runs,omitempty"` + BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` + // The hostname of the machine. + Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MetricsBase) Reset() { *m = MetricsBase{} } @@ -379,6 +381,13 @@ func (m *MetricsBase) GetBuildConfig() *BuildConfig { return nil } +func (m *MetricsBase) GetHostname() string { + if m != nil && m.Hostname != nil { + return *m.Hostname + } + return "" +} + type BuildConfig struct { UseGoma *bool `protobuf:"varint,1,opt,name=use_goma,json=useGoma" json:"use_goma,omitempty"` UseRbe *bool `protobuf:"varint,2,opt,name=use_rbe,json=useRbe" json:"use_rbe,omitempty"` @@ -585,59 +594,60 @@ func init() { func init() { proto.RegisterFile("metrics.proto", fileDescriptor_6039342a2ba47b72) } var fileDescriptor_6039342a2ba47b72 = []byte{ - // 860 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xe2, 0x46, - 0x14, 0x5e, 0x02, 0x1b, 0xec, 0x63, 0x60, 0x9d, 0x49, 0xa4, 0x78, 0x5b, 0xad, 0x16, 0xa1, 0xfe, - 0x50, 0xa9, 0xa5, 0x2b, 0x14, 0xa1, 0x28, 0x6a, 0x2f, 0x80, 0xa0, 0x2c, 0xda, 0x05, 0x56, 0x03, - 0xa4, 0xdb, 0x5e, 0xd4, 0x72, 0xec, 0x81, 0xb8, 0xc5, 0x1e, 0x34, 0x33, 0x5e, 0x35, 0x0f, 0xd1, - 0x27, 0xea, 0xc3, 0xf4, 0x55, 0xaa, 0x39, 0x83, 0x89, 0x93, 0x8b, 0x54, 0x7b, 0x37, 0x3e, 0xdf, - 0xcf, 0x7c, 0xf3, 0x77, 0x0c, 0xf5, 0x84, 0x29, 0x11, 0x87, 0xb2, 0xb3, 0x15, 0x5c, 0x71, 0x52, - 0xbf, 0xc9, 0xe2, 0x4d, 0xe4, 0xef, 0x8a, 0xad, 0x7f, 0x6c, 0x70, 0x26, 0x66, 0x3c, 0x08, 0x24, - 0x23, 0x6f, 0xe0, 0xc4, 0x10, 0xa2, 0x40, 0x31, 0x5f, 0xc5, 0x09, 0x93, 0x2a, 0x48, 0xb6, 0x5e, - 0xa9, 0x59, 0x6a, 0x97, 0x29, 0x41, 0xec, 0x32, 0x50, 0x6c, 0x91, 0x23, 0xe4, 0x25, 0x58, 0x46, - 0x11, 0x47, 0xde, 0x41, 0xb3, 0xd4, 0xb6, 0x69, 0x15, 0xbf, 0xc7, 0x11, 0xb9, 0x80, 0x97, 0xdb, - 0x4d, 0xa0, 0x56, 0x5c, 0x24, 0xfe, 0x27, 0x26, 0x64, 0xcc, 0x53, 0x3f, 0xe4, 0x11, 0x4b, 0x83, - 0x84, 0x79, 0x65, 0xe4, 0x9e, 0xe6, 0x84, 0x6b, 0x83, 0x0f, 0x77, 0x30, 0xf9, 0x1a, 0x1a, 0x2a, - 0x10, 0x6b, 0xa6, 0xfc, 0xad, 0xe0, 0x51, 0x16, 0x2a, 0xaf, 0x82, 0x82, 0xba, 0xa9, 0x7e, 0x30, - 0x45, 0xf2, 0x3b, 0x9c, 0xec, 0x68, 0x26, 0xc4, 0xa7, 0x40, 0xc4, 0x41, 0xaa, 0xbc, 0xe7, 0xcd, - 0x52, 0xbb, 0xd1, 0xfd, 0xb6, 0xf3, 0x60, 0xb5, 0x9d, 0xc2, 0x4a, 0x3b, 0x83, 0xe5, 0xf8, 0xfd, - 0xe5, 0x75, 0x9f, 0x8e, 0xfb, 0xd3, 0xc5, 0x45, 0x79, 0x34, 0xbd, 0xa2, 0xc4, 0x38, 0x0d, 0xb4, - 0xe4, 0xda, 0xf8, 0x90, 0x31, 0x38, 0x3b, 0xff, 0x40, 0x84, 0xb7, 0xde, 0x21, 0xda, 0xbe, 0x7e, - 0xc2, 0xb6, 0x4f, 0x87, 0x6f, 0x2f, 0xaa, 0xcb, 0xe9, 0xbb, 0xe9, 0xec, 0x97, 0x29, 0x05, 0x23, - 0xee, 0x8b, 0xf0, 0x96, 0x74, 0xe0, 0xb8, 0x60, 0xb5, 0x4f, 0x5a, 0xc5, 0x65, 0x1d, 0xdd, 0x13, - 0xf3, 0xa9, 0xbf, 0x87, 0x5d, 0x20, 0x3f, 0xdc, 0x66, 0x7b, 0xba, 0x85, 0x74, 0xd7, 0x20, 0xc3, - 0x6d, 0x96, 0xb3, 0x47, 0x60, 0xdf, 0x72, 0xb9, 0x8b, 0x69, 0x7f, 0x66, 0x4c, 0x4b, 0x4b, 0x31, - 0xe4, 0x7b, 0xa8, 0xa3, 0x4d, 0x37, 0x8d, 0x8c, 0x15, 0x7c, 0xa6, 0x95, 0xa3, 0xe5, 0xdd, 0x34, - 0x42, 0xb7, 0x53, 0xa8, 0xa2, 0x1b, 0x97, 0x9e, 0x83, 0xb9, 0x0f, 0xf5, 0xe7, 0x4c, 0x92, 0xd6, - 0x6e, 0x1a, 0x2e, 0x7d, 0xf6, 0x97, 0x12, 0x81, 0x57, 0x43, 0xd8, 0x31, 0xf0, 0x48, 0x97, 0xf6, - 0x9c, 0x50, 0x70, 0x29, 0xb5, 0x45, 0xfd, 0x9e, 0x33, 0xd4, 0xb5, 0x99, 0x24, 0xdf, 0xc0, 0x8b, - 0x02, 0x07, 0x03, 0x37, 0xcc, 0x35, 0xd9, 0xb3, 0x30, 0xc8, 0x0f, 0x70, 0x5c, 0xe0, 0xed, 0x17, - 0xf7, 0xc2, 0x6c, 0xe6, 0x9e, 0x5b, 0xc8, 0xcd, 0x33, 0xe5, 0x47, 0xb1, 0xf0, 0x5c, 0x93, 0x9b, - 0x67, 0xea, 0x32, 0x16, 0xe4, 0x1c, 0x1c, 0xc9, 0x54, 0xb6, 0xf5, 0x15, 0xe7, 0x1b, 0xe9, 0x1d, - 0x35, 0xcb, 0x6d, 0xa7, 0x7b, 0xfa, 0x68, 0x73, 0x3e, 0x30, 0xb1, 0x1a, 0xa7, 0x2b, 0x4e, 0x01, - 0xb9, 0x0b, 0x4d, 0x25, 0x67, 0x60, 0xff, 0x19, 0xa8, 0xd8, 0x17, 0x59, 0x2a, 0x3d, 0xf2, 0xb4, - 0xce, 0xd2, 0x4c, 0x9a, 0xa5, 0x92, 0xf4, 0x00, 0x24, 0xe7, 0xe9, 0xda, 0xc8, 0x8e, 0x9f, 0x96, - 0xd9, 0x48, 0xcd, 0x75, 0x69, 0x9c, 0xfe, 0x11, 0x18, 0xdd, 0xc9, 0xff, 0xe8, 0x90, 0x8a, 0xba, - 0x9f, 0xa1, 0x66, 0x48, 0x21, 0x4f, 0x57, 0xf1, 0xda, 0x3b, 0x6d, 0x96, 0xda, 0x4e, 0xf7, 0x8b, - 0x47, 0x4a, 0x7c, 0x21, 0x43, 0x64, 0x50, 0xe7, 0xe6, 0xfe, 0xa3, 0xf5, 0x06, 0x6a, 0xc5, 0x67, - 0x45, 0x2c, 0xa8, 0x2c, 0xe7, 0x23, 0xea, 0x3e, 0x23, 0x75, 0xb0, 0xf5, 0xe8, 0x72, 0x34, 0x58, - 0x5e, 0xb9, 0x25, 0x52, 0x05, 0xfd, 0xe2, 0xdc, 0x83, 0xd6, 0x4f, 0x50, 0xd1, 0xf7, 0x87, 0x38, - 0x90, 0xdf, 0x20, 0xf7, 0x99, 0x46, 0xfb, 0x74, 0xe2, 0x96, 0x88, 0x0d, 0xcf, 0xfb, 0x74, 0xd2, - 0x3b, 0x73, 0x0f, 0x74, 0xed, 0xe3, 0x79, 0xcf, 0x2d, 0x13, 0x80, 0xc3, 0x8f, 0xe7, 0x3d, 0xbf, - 0x77, 0xe6, 0x56, 0x5a, 0x6b, 0x70, 0x0a, 0x59, 0x74, 0x2b, 0xca, 0x24, 0xf3, 0xd7, 0x3c, 0x09, - 0xb0, 0x61, 0x59, 0xb4, 0x9a, 0x49, 0x76, 0xc5, 0x93, 0x40, 0x9f, 0xa8, 0x86, 0xc4, 0x0d, 0xc3, - 0x26, 0x65, 0xd1, 0xc3, 0x4c, 0x32, 0x7a, 0xc3, 0xc8, 0x57, 0xd0, 0x58, 0x71, 0x11, 0x32, 0x7f, - 0xaf, 0x2c, 0x23, 0x5e, 0xc3, 0xea, 0xd2, 0xc8, 0x5b, 0x7f, 0x97, 0xc0, 0xca, 0xf7, 0x8b, 0x10, - 0xa8, 0x44, 0x4c, 0x86, 0x38, 0x85, 0x4d, 0x71, 0xac, 0x6b, 0xd8, 0xd5, 0x4c, 0x07, 0xc4, 0x31, - 0x79, 0x05, 0x20, 0x55, 0x20, 0x14, 0xb6, 0x51, 0xb4, 0xad, 0x50, 0x1b, 0x2b, 0xba, 0x7b, 0x92, - 0x2f, 0xc1, 0x16, 0x2c, 0xd8, 0x18, 0xb4, 0x82, 0xa8, 0xa5, 0x0b, 0x08, 0xbe, 0x02, 0x48, 0x58, - 0xc2, 0xc5, 0x9d, 0xce, 0x85, 0xdd, 0xac, 0x42, 0x6d, 0x53, 0x59, 0x4a, 0xd6, 0xfa, 0xb7, 0x04, - 0x8d, 0x09, 0x8f, 0xb2, 0x0d, 0x5b, 0xdc, 0x6d, 0x19, 0xa6, 0x5a, 0xe6, 0x47, 0x27, 0xef, 0xa4, - 0x62, 0x09, 0xa6, 0x6b, 0x74, 0xbf, 0x7b, 0xfc, 0x70, 0x1f, 0x88, 0x4c, 0x13, 0x9c, 0xff, 0x3a, - 0x5f, 0x8c, 0x26, 0x85, 0x27, 0x8c, 0x92, 0x39, 0xda, 0x90, 0xd7, 0xe0, 0x24, 0xa8, 0xf1, 0xd5, - 0xdd, 0x36, 0x5f, 0x1f, 0x24, 0x7b, 0x1b, 0xbd, 0x81, 0x69, 0x96, 0xf8, 0x7c, 0xe5, 0x9b, 0xa2, - 0xc4, 0x95, 0xd6, 0x69, 0x2d, 0xcd, 0x92, 0xd9, 0xca, 0xcc, 0x27, 0x5b, 0x3f, 0x82, 0x53, 0x98, - 0xeb, 0xe1, 0x71, 0xdb, 0xf0, 0x7c, 0x3e, 0x9b, 0x4d, 0xf5, 0xbd, 0xb0, 0xa0, 0x32, 0xe9, 0xbf, - 0x1b, 0xb9, 0x07, 0x83, 0xa3, 0xb7, 0xe5, 0xdf, 0xf2, 0x5f, 0x97, 0x8f, 0xbf, 0xae, 0xff, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x44, 0x56, 0xd0, 0xb0, 0xca, 0x06, 0x00, 0x00, + // 871 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xdb, 0x36, + 0x14, 0xae, 0x63, 0x27, 0x96, 0x8e, 0x62, 0x57, 0x61, 0x02, 0x44, 0xed, 0x50, 0xd4, 0x30, 0xf6, + 0xe3, 0x01, 0x9b, 0x57, 0x18, 0x81, 0x11, 0x04, 0xdb, 0x85, 0xed, 0x18, 0xa9, 0xd1, 0xda, 0x2e, + 0x68, 0x3b, 0xeb, 0x76, 0x31, 0x41, 0x91, 0x68, 0x47, 0x9b, 0x25, 0x1a, 0x24, 0x55, 0x2c, 0x0f, + 0xb1, 0xe7, 0xdb, 0xe5, 0x5e, 0x65, 0xe0, 0xa1, 0xe5, 0x28, 0xb9, 0x48, 0xd1, 0x3b, 0xf2, 0x7c, + 0x3f, 0xfc, 0x48, 0x91, 0x47, 0x50, 0x4b, 0x98, 0x12, 0x71, 0x28, 0xdb, 0x1b, 0xc1, 0x15, 0x27, + 0xb5, 0x9b, 0x2c, 0x5e, 0x47, 0xfe, 0xb6, 0xd8, 0xfc, 0xd7, 0x06, 0x67, 0x6c, 0xc6, 0xfd, 0x40, + 0x32, 0xf2, 0x06, 0x4e, 0x0c, 0x21, 0x0a, 0x14, 0xf3, 0x55, 0x9c, 0x30, 0xa9, 0x82, 0x64, 0xe3, + 0x95, 0x1a, 0xa5, 0x56, 0x99, 0x12, 0xc4, 0x2e, 0x03, 0xc5, 0xe6, 0x39, 0x42, 0x5e, 0x80, 0x65, + 0x14, 0x71, 0xe4, 0xed, 0x35, 0x4a, 0x2d, 0x9b, 0x56, 0x71, 0x3e, 0x8a, 0xc8, 0x05, 0xbc, 0xd8, + 0xac, 0x03, 0xb5, 0xe4, 0x22, 0xf1, 0x3f, 0x31, 0x21, 0x63, 0x9e, 0xfa, 0x21, 0x8f, 0x58, 0x1a, + 0x24, 0xcc, 0x2b, 0x23, 0xf7, 0x34, 0x27, 0x5c, 0x1b, 0x7c, 0xb0, 0x85, 0xc9, 0x37, 0x50, 0x57, + 0x81, 0x58, 0x31, 0xe5, 0x6f, 0x04, 0x8f, 0xb2, 0x50, 0x79, 0x15, 0x14, 0xd4, 0x4c, 0xf5, 0x83, + 0x29, 0x92, 0x3f, 0xe0, 0x64, 0x4b, 0x33, 0x21, 0x3e, 0x05, 0x22, 0x0e, 0x52, 0xe5, 0xed, 0x37, + 0x4a, 0xad, 0x7a, 0xe7, 0xbb, 0xf6, 0x83, 0xdd, 0xb6, 0x0b, 0x3b, 0x6d, 0xf7, 0x17, 0xa3, 0xf7, + 0x97, 0xd7, 0x3d, 0x3a, 0xea, 0x4d, 0xe6, 0x17, 0xe5, 0xe1, 0xe4, 0x8a, 0x12, 0xe3, 0xd4, 0xd7, + 0x92, 0x6b, 0xe3, 0x43, 0x46, 0xe0, 0x6c, 0xfd, 0x03, 0x11, 0xde, 0x7a, 0x07, 0x68, 0xfb, 0xfa, + 0x09, 0xdb, 0x1e, 0x1d, 0xbc, 0xbd, 0xa8, 0x2e, 0x26, 0xef, 0x26, 0xd3, 0x5f, 0x27, 0x14, 0x8c, + 0xb8, 0x27, 0xc2, 0x5b, 0xd2, 0x86, 0xe3, 0x82, 0xd5, 0x2e, 0x69, 0x15, 0xb7, 0x75, 0x74, 0x4f, + 0xcc, 0x97, 0xfe, 0x01, 0xb6, 0x81, 0xfc, 0x70, 0x93, 0xed, 0xe8, 0x16, 0xd2, 0x5d, 0x83, 0x0c, + 0x36, 0x59, 0xce, 0x1e, 0x82, 0x7d, 0xcb, 0xe5, 0x36, 0xa6, 0xfd, 0x85, 0x31, 0x2d, 0x2d, 0xc5, + 0x90, 0xef, 0xa1, 0x86, 0x36, 0x9d, 0x34, 0x32, 0x56, 0xf0, 0x85, 0x56, 0x8e, 0x96, 0x77, 0xd2, + 0x08, 0xdd, 0x4e, 0xa1, 0x8a, 0x6e, 0x5c, 0x7a, 0x0e, 0xe6, 0x3e, 0xd0, 0xd3, 0xa9, 0x24, 0xcd, + 0xed, 0x32, 0x5c, 0xfa, 0xec, 0x6f, 0x25, 0x02, 0xef, 0x10, 0x61, 0xc7, 0xc0, 0x43, 0x5d, 0xda, + 0x71, 0x42, 0xc1, 0xa5, 0xd4, 0x16, 0xb5, 0x7b, 0xce, 0x40, 0xd7, 0xa6, 0x92, 0x7c, 0x0b, 0xcf, + 0x0b, 0x1c, 0x0c, 0x5c, 0x37, 0xd7, 0x64, 0xc7, 0xc2, 0x20, 0x3f, 0xc2, 0x71, 0x81, 0xb7, 0xdb, + 0xdc, 0x73, 0x73, 0x98, 0x3b, 0x6e, 0x21, 0x37, 0xcf, 0x94, 0x1f, 0xc5, 0xc2, 0x73, 0x4d, 0x6e, + 0x9e, 0xa9, 0xcb, 0x58, 0x90, 0x73, 0x70, 0x24, 0x53, 0xd9, 0xc6, 0x57, 0x9c, 0xaf, 0xa5, 0x77, + 0xd4, 0x28, 0xb7, 0x9c, 0xce, 0xe9, 0xa3, 0xc3, 0xf9, 0xc0, 0xc4, 0x72, 0x94, 0x2e, 0x39, 0x05, + 0xe4, 0xce, 0x35, 0x95, 0x9c, 0x81, 0xfd, 0x57, 0xa0, 0x62, 0x5f, 0x64, 0xa9, 0xf4, 0xc8, 0xd3, + 0x3a, 0x4b, 0x33, 0x69, 0x96, 0x4a, 0xd2, 0x05, 0x90, 0x9c, 0xa7, 0x2b, 0x23, 0x3b, 0x7e, 0x5a, + 0x66, 0x23, 0x35, 0xd7, 0xa5, 0x71, 0xfa, 0x67, 0x60, 0x74, 0x27, 0x9f, 0xd1, 0x21, 0x15, 0x75, + 0xbf, 0xc0, 0xa1, 0x21, 0x85, 0x3c, 0x5d, 0xc6, 0x2b, 0xef, 0xb4, 0x51, 0x6a, 0x39, 0x9d, 0x97, + 0x8f, 0x94, 0xf8, 0x42, 0x06, 0xc8, 0xa0, 0xce, 0xcd, 0xfd, 0x84, 0xbc, 0x04, 0xbc, 0x49, 0xf8, + 0xbe, 0x3d, 0x3c, 0xb8, 0xdd, 0xbc, 0xf9, 0x06, 0x0e, 0x8b, 0x4f, 0x8e, 0x58, 0x50, 0x59, 0xcc, + 0x86, 0xd4, 0x7d, 0x46, 0x6a, 0x60, 0xeb, 0xd1, 0xe5, 0xb0, 0xbf, 0xb8, 0x72, 0x4b, 0xa4, 0x0a, + 0xfa, 0x35, 0xba, 0x7b, 0xcd, 0x9f, 0xa1, 0xa2, 0xef, 0x16, 0x71, 0x20, 0xbf, 0x5d, 0xee, 0x33, + 0x8d, 0xf6, 0xe8, 0xd8, 0x2d, 0x11, 0x1b, 0xf6, 0x7b, 0x74, 0xdc, 0x3d, 0x73, 0xf7, 0x74, 0xed, + 0xe3, 0x79, 0xd7, 0x2d, 0x13, 0x80, 0x83, 0x8f, 0xe7, 0x5d, 0xbf, 0x7b, 0xe6, 0x56, 0x9a, 0x2b, + 0x70, 0x0a, 0x39, 0x75, 0x9b, 0xca, 0x24, 0xf3, 0x57, 0x3c, 0x09, 0xb0, 0x99, 0x59, 0xb4, 0x9a, + 0x49, 0x76, 0xc5, 0x93, 0x40, 0x7f, 0x6d, 0x0d, 0x89, 0x1b, 0x86, 0x0d, 0xcc, 0xa2, 0x07, 0x99, + 0x64, 0xf4, 0x86, 0x91, 0xaf, 0xa1, 0xbe, 0xe4, 0x22, 0x64, 0xfe, 0x4e, 0x59, 0x46, 0xfc, 0x10, + 0xab, 0x0b, 0x23, 0x6f, 0xfe, 0x53, 0x02, 0x2b, 0x3f, 0x4b, 0x42, 0xa0, 0x12, 0x31, 0x19, 0xe2, + 0x12, 0x36, 0xc5, 0xb1, 0xae, 0xe1, 0x89, 0x98, 0xee, 0x88, 0x63, 0xf2, 0x0a, 0x40, 0xaa, 0x40, + 0x28, 0x6c, 0xb1, 0x68, 0x5b, 0xa1, 0x36, 0x56, 0x74, 0x67, 0x25, 0x5f, 0x81, 0x2d, 0x58, 0xb0, + 0x36, 0x68, 0x05, 0x51, 0x4b, 0x17, 0x10, 0x7c, 0x05, 0x90, 0xb0, 0x84, 0x8b, 0x3b, 0x9d, 0x0b, + 0x3b, 0x5d, 0x85, 0xda, 0xa6, 0xb2, 0x90, 0xac, 0xf9, 0x5f, 0x09, 0xea, 0x63, 0x1e, 0x65, 0x6b, + 0x36, 0xbf, 0xdb, 0x30, 0x4c, 0xb5, 0xc8, 0x3f, 0xab, 0xbc, 0x93, 0x8a, 0x25, 0x98, 0xae, 0xde, + 0xf9, 0xfe, 0xf1, 0xa3, 0x7e, 0x20, 0x32, 0x0d, 0x72, 0xf6, 0xdb, 0x6c, 0x3e, 0x1c, 0x17, 0x9e, + 0x37, 0x4a, 0x66, 0x68, 0x43, 0x5e, 0x83, 0x93, 0xa0, 0xc6, 0x57, 0x77, 0x9b, 0x7c, 0x7f, 0x90, + 0xec, 0x6c, 0xf4, 0x01, 0xa6, 0x59, 0xe2, 0xf3, 0xa5, 0x6f, 0x8a, 0x12, 0x77, 0x5a, 0xa3, 0x87, + 0x69, 0x96, 0x4c, 0x97, 0x66, 0x3d, 0xd9, 0xfc, 0x09, 0x9c, 0xc2, 0x5a, 0x0f, 0x3f, 0xb7, 0x0d, + 0xfb, 0xb3, 0xe9, 0x74, 0xa2, 0xef, 0x85, 0x05, 0x95, 0x71, 0xef, 0xdd, 0xd0, 0xdd, 0xeb, 0x1f, + 0xbd, 0x2d, 0xff, 0x9e, 0xff, 0xd6, 0x7c, 0xfc, 0xad, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x66, + 0x62, 0xba, 0xc0, 0xe6, 0x06, 0x00, 0x00, } diff --git a/ui/metrics/metrics_proto/metrics.proto b/ui/metrics/metrics_proto/metrics.proto index adecaf31f..5d26b673d 100644 --- a/ui/metrics/metrics_proto/metrics.proto +++ b/ui/metrics/metrics_proto/metrics.proto @@ -93,6 +93,9 @@ message MetricsBase { repeated PerfInfo ninja_runs = 20; optional BuildConfig build_config = 23; + + // The hostname of the machine. + optional string hostname = 24; } message BuildConfig { From c8861c6acbbf7e8a53a98b41042a7dd0f5e904e3 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Fri, 14 Aug 2020 09:38:04 +0100 Subject: [PATCH 04/15] Remove special-cased stub deps on framework-res This dep is now possible to express in native Android.bp syntax, which makes the build easier to understand. Bug: 161214753 Test: build sdk, diff out/dist before and after Change-Id: I878eda49b5bf54aaf581fc52e0fe9719e4bcdfce Merged-In: I878eda49b5bf54aaf581fc52e0fe9719e4bcdfce --- java/java.go | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/java/java.go b/java/java.go index 4612b76fa..69826eec3 100644 --- a/java/java.go +++ b/java/java.go @@ -578,7 +578,6 @@ var ( bootClasspathTag = dependencyTag{name: "bootclasspath"} systemModulesTag = dependencyTag{name: "system modules"} frameworkResTag = dependencyTag{name: "framework-res"} - frameworkApkTag = dependencyTag{name: "framework-apk"} kotlinStdlibTag = dependencyTag{name: "kotlin-stdlib"} kotlinAnnotationsTag = dependencyTag{name: "kotlin-annotations"} proguardRaiseTag = dependencyTag{name: "proguard-raise"} @@ -703,12 +702,6 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) { if sdkDep.systemModules != "" { ctx.AddVariationDependencies(nil, systemModulesTag, sdkDep.systemModules) } - - if ctx.ModuleName() == "android_stubs_current" || - ctx.ModuleName() == "android_system_stubs_current" || - ctx.ModuleName() == "android_test_stubs_current" { - ctx.AddVariationDependencies(nil, frameworkApkTag, "framework-res") - } } syspropPublicStubs := syspropPublicStubs(ctx.Config()) @@ -1057,18 +1050,6 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { } else { ctx.PropertyErrorf("exported_plugins", "%q is not a java_plugin module", otherName) } - case frameworkApkTag: - if ctx.ModuleName() == "android_stubs_current" || - ctx.ModuleName() == "android_system_stubs_current" || - ctx.ModuleName() == "android_test_stubs_current" { - // framework stubs.jar need to depend on framework-res.apk, in order to pull the - // resource files out of there for aapt. - // - // Normally the package rule runs aapt, which includes the resource, - // but we're not running that in our package rule so just copy in the - // resource files here. - deps.staticResourceJars = append(deps.staticResourceJars, dep.(*AndroidApp).exportPackage) - } case kotlinStdlibTag: deps.kotlinStdlib = append(deps.kotlinStdlib, dep.HeaderJars()...) case kotlinAnnotationsTag: From 7c3052aaf0d8f503282ec3ffb89da0290209a837 Mon Sep 17 00:00:00 2001 From: Jaewoong Jung Date: Fri, 29 May 2020 16:15:32 -0700 Subject: [PATCH 05/15] Add data bin and lib properties to sh_test This cherry-picks Id3952e136c1dabfcd34048b6c9f31d0125a623df to rvc-qpr-dev along with the first device target fix, Ib56f52424ebf47f3eee6ac62b9fd9eca2919d63a. Test: sh_binary_test.go Test: Modified ziptool-tests Test: build/soong/scripts/build-ndk-prebuilts.sh Fixes: 169299866 Change-Id: Id3952e136c1dabfcd34048b6c9f31d0125a623df Merged-In: Id3952e136c1dabfcd34048b6c9f31d0125a623df Merged-In: Ib56f52424ebf47f3eee6ac62b9fd9eca2919d63a --- android/config.go | 11 ++-- sh/Android.bp | 1 + sh/sh_binary.go | 116 +++++++++++++++++++++++++++++++++++++++++++ sh/sh_binary_test.go | 114 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 238 insertions(+), 4 deletions(-) diff --git a/android/config.go b/android/config.go index 3541f831e..34177291f 100644 --- a/android/config.go +++ b/android/config.go @@ -82,10 +82,11 @@ type config struct { ConfigFileName string ProductVariablesFileName string - Targets map[OsType][]Target - BuildOSTarget Target // the Target for tools run on the build machine - BuildOSCommonTarget Target // the Target for common (java) tools run on the build machine - AndroidCommonTarget Target // the Target for common modules for the Android device + Targets map[OsType][]Target + BuildOSTarget Target // the Target for tools run on the build machine + BuildOSCommonTarget Target // the Target for common (java) tools run on the build machine + AndroidCommonTarget Target // the Target for common modules for the Android device + AndroidFirstDeviceTarget Target // the first Target for modules for the Android device // multilibConflicts for an ArchType is true if there is earlier configured device architecture with the same // multilib value. @@ -306,6 +307,7 @@ func TestArchConfig(buildDir string, env map[string]string, bp string, fs map[st config.BuildOSTarget = config.Targets[BuildOs][0] config.BuildOSCommonTarget = getCommonTargets(config.Targets[BuildOs])[0] config.AndroidCommonTarget = getCommonTargets(config.Targets[Android])[0] + config.AndroidFirstDeviceTarget = firstTarget(config.Targets[Android], "lib64", "lib32")[0] config.TestProductVariables.DeviceArch = proptools.StringPtr("arm64") config.TestProductVariables.DeviceArchVariant = proptools.StringPtr("armv8-a") config.TestProductVariables.DeviceSecondaryArch = proptools.StringPtr("arm") @@ -400,6 +402,7 @@ func NewConfig(srcDir, buildDir string) (Config, error) { config.BuildOSCommonTarget = getCommonTargets(config.Targets[BuildOs])[0] if len(config.Targets[Android]) > 0 { config.AndroidCommonTarget = getCommonTargets(config.Targets[Android])[0] + config.AndroidFirstDeviceTarget = firstTarget(config.Targets[Android], "lib64", "lib32")[0] } if err := config.fromEnv(); err != nil { diff --git a/sh/Android.bp b/sh/Android.bp index 0f40c5f68..e5ffeefb4 100644 --- a/sh/Android.bp +++ b/sh/Android.bp @@ -5,6 +5,7 @@ bootstrap_go_package { "blueprint", "soong", "soong-android", + "soong-cc", "soong-tradefed", ], srcs: [ diff --git a/sh/sh_binary.go b/sh/sh_binary.go index ab0490ac1..e61c719f4 100644 --- a/sh/sh_binary.go +++ b/sh/sh_binary.go @@ -17,11 +17,14 @@ package sh import ( "fmt" "path/filepath" + "sort" "strings" + "github.com/google/blueprint" "github.com/google/blueprint/proptools" "android/soong/android" + "android/soong/cc" "android/soong/tradefed" ) @@ -88,6 +91,20 @@ type TestProperties struct { // doesn't exist next to the Android.bp, this attribute doesn't need to be set to true // explicitly. Auto_gen_config *bool + + // list of binary modules that should be installed alongside the test + Data_bins []string `android:"path,arch_variant"` + + // list of library modules that should be installed alongside the test + Data_libs []string `android:"path,arch_variant"` + + // list of device binary modules that should be installed alongside the test. + // Only available for host sh_test modules. + Data_device_bins []string `android:"path,arch_variant"` + + // list of device library modules that should be installed alongside the test. + // Only available for host sh_test modules. + Data_device_libs []string `android:"path,arch_variant"` } type ShBinary struct { @@ -109,6 +126,8 @@ type ShTest struct { data android.Paths testConfig android.Path + + dataModules map[string]android.Path } func (s *ShBinary) HostToolPath() android.OptionalPath { @@ -190,6 +209,50 @@ func (s *ShBinary) customAndroidMkEntries(entries *android.AndroidMkEntries) { } } +type dependencyTag struct { + blueprint.BaseDependencyTag + name string +} + +var ( + shTestDataBinsTag = dependencyTag{name: "dataBins"} + shTestDataLibsTag = dependencyTag{name: "dataLibs"} + shTestDataDeviceBinsTag = dependencyTag{name: "dataDeviceBins"} + shTestDataDeviceLibsTag = dependencyTag{name: "dataDeviceLibs"} +) + +var sharedLibVariations = []blueprint.Variation{{Mutator: "link", Variation: "shared"}} + +func (s *ShTest) DepsMutator(ctx android.BottomUpMutatorContext) { + s.ShBinary.DepsMutator(ctx) + + ctx.AddFarVariationDependencies(ctx.Target().Variations(), shTestDataBinsTag, s.testProperties.Data_bins...) + ctx.AddFarVariationDependencies(append(ctx.Target().Variations(), sharedLibVariations...), + shTestDataLibsTag, s.testProperties.Data_libs...) + if ctx.Target().Os.Class == android.Host && len(ctx.Config().Targets[android.Android]) > 0 { + deviceVariations := ctx.Config().AndroidFirstDeviceTarget.Variations() + ctx.AddFarVariationDependencies(deviceVariations, shTestDataDeviceBinsTag, s.testProperties.Data_device_bins...) + ctx.AddFarVariationDependencies(append(deviceVariations, sharedLibVariations...), + shTestDataDeviceLibsTag, s.testProperties.Data_device_libs...) + } else if ctx.Target().Os.Class != android.Host { + if len(s.testProperties.Data_device_bins) > 0 { + ctx.PropertyErrorf("data_device_bins", "only available for host modules") + } + if len(s.testProperties.Data_device_libs) > 0 { + ctx.PropertyErrorf("data_device_libs", "only available for host modules") + } + } +} + +func (s *ShTest) addToDataModules(ctx android.ModuleContext, relPath string, path android.Path) { + if _, exists := s.dataModules[relPath]; exists { + ctx.ModuleErrorf("data modules have a conflicting installation path, %v - %s, %s", + relPath, s.dataModules[relPath].String(), path.String()) + return + } + s.dataModules[relPath] = path +} + func (s *ShTest) GenerateAndroidBuildActions(ctx android.ModuleContext) { s.ShBinary.generateAndroidBuildActions(ctx) testDir := "nativetest" @@ -215,6 +278,50 @@ func (s *ShTest) GenerateAndroidBuildActions(ctx android.ModuleContext) { } s.testConfig = tradefed.AutoGenShellTestConfig(ctx, s.testProperties.Test_config, s.testProperties.Test_config_template, s.testProperties.Test_suites, configs, s.testProperties.Auto_gen_config, s.outputFilePath.Base()) + + s.dataModules = make(map[string]android.Path) + ctx.VisitDirectDeps(func(dep android.Module) { + depTag := ctx.OtherModuleDependencyTag(dep) + switch depTag { + case shTestDataBinsTag, shTestDataDeviceBinsTag: + if cc, isCc := dep.(*cc.Module); isCc { + s.addToDataModules(ctx, cc.OutputFile().Path().Base(), cc.OutputFile().Path()) + return + } + property := "data_bins" + if depTag == shTestDataDeviceBinsTag { + property = "data_device_bins" + } + ctx.PropertyErrorf(property, "%q of type %q is not supported", dep.Name(), ctx.OtherModuleType(dep)) + case shTestDataLibsTag, shTestDataDeviceLibsTag: + if cc, isCc := dep.(*cc.Module); isCc { + // Copy to an intermediate output directory to append "lib[64]" to the path, + // so that it's compatible with the default rpath values. + var relPath string + if cc.Arch().ArchType.Multilib == "lib64" { + relPath = filepath.Join("lib64", cc.OutputFile().Path().Base()) + } else { + relPath = filepath.Join("lib", cc.OutputFile().Path().Base()) + } + if _, exist := s.dataModules[relPath]; exist { + return + } + relocatedLib := android.PathForModuleOut(ctx, "relocated", relPath) + ctx.Build(pctx, android.BuildParams{ + Rule: android.Cp, + Input: cc.OutputFile().Path(), + Output: relocatedLib, + }) + s.addToDataModules(ctx, relPath, relocatedLib) + return + } + property := "data_libs" + if depTag == shTestDataDeviceBinsTag { + property = "data_device_libs" + } + ctx.PropertyErrorf(property, "%q of type %q is not supported", dep.Name(), ctx.OtherModuleType(dep)) + } + }) } func (s *ShTest) InstallInData() bool { @@ -243,6 +350,15 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries { path = strings.TrimSuffix(path, rel) entries.AddStrings("LOCAL_TEST_DATA", path+":"+rel) } + relPaths := make([]string, 0) + for relPath, _ := range s.dataModules { + relPaths = append(relPaths, relPath) + } + sort.Strings(relPaths) + for _, relPath := range relPaths { + dir := strings.TrimSuffix(s.dataModules[relPath].String(), relPath) + entries.AddStrings("LOCAL_TEST_DATA", dir+":"+relPath) + } }, }, }} diff --git a/sh/sh_binary_test.go b/sh/sh_binary_test.go index 6c0d96abe..232a28133 100644 --- a/sh/sh_binary_test.go +++ b/sh/sh_binary_test.go @@ -3,10 +3,12 @@ package sh import ( "io/ioutil" "os" + "path/filepath" "reflect" "testing" "android/soong/android" + "android/soong/cc" ) var buildDir string @@ -46,6 +48,9 @@ func testShBinary(t *testing.T, bp string) (*android.TestContext, android.Config ctx := android.NewTestArchContext() ctx.RegisterModuleType("sh_test", ShTestFactory) ctx.RegisterModuleType("sh_test_host", ShTestHostFactory) + + cc.RegisterRequiredBuildComponentsForTest(ctx) + ctx.Register(config) _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) android.FailIfErrored(t, errs) @@ -78,6 +83,65 @@ func TestShTestTestData(t *testing.T) { } } +func TestShTest_dataModules(t *testing.T) { + ctx, config := testShBinary(t, ` + sh_test { + name: "foo", + src: "test.sh", + host_supported: true, + data_bins: ["bar"], + data_libs: ["libbar"], + } + + cc_binary { + name: "bar", + host_supported: true, + shared_libs: ["libbar"], + no_libcrt: true, + nocrt: true, + system_shared_libs: [], + stl: "none", + } + + cc_library { + name: "libbar", + host_supported: true, + no_libcrt: true, + nocrt: true, + system_shared_libs: [], + stl: "none", + } + `) + + buildOS := android.BuildOs.String() + arches := []string{"android_arm64_armv8-a", buildOS + "_x86_64"} + for _, arch := range arches { + variant := ctx.ModuleForTests("foo", arch) + + libExt := ".so" + if arch == "darwin_x86_64" { + libExt = ".dylib" + } + relocated := variant.Output("relocated/lib64/libbar" + libExt) + expectedInput := filepath.Join(buildDir, ".intermediates/libbar/"+arch+"_shared/libbar"+libExt) + if relocated.Input.String() != expectedInput { + t.Errorf("Unexpected relocation input, expected: %q, actual: %q", + expectedInput, relocated.Input.String()) + } + + mod := variant.Module().(*ShTest) + entries := android.AndroidMkEntriesForTest(t, config, "", mod)[0] + expectedData := []string{ + filepath.Join(buildDir, ".intermediates/bar", arch, ":bar"), + filepath.Join(buildDir, ".intermediates/foo", arch, "relocated/:lib64/libbar"+libExt), + } + actualData := entries.EntryMap["LOCAL_TEST_DATA"] + if !reflect.DeepEqual(expectedData, actualData) { + t.Errorf("Unexpected test data, expected: %q, actual: %q", expectedData, actualData) + } + } +} + func TestShTestHost(t *testing.T) { ctx, _ := testShBinary(t, ` sh_test_host { @@ -97,3 +161,53 @@ func TestShTestHost(t *testing.T) { t.Errorf("host bit is not set for a sh_test_host module.") } } + +func TestShTestHost_dataDeviceModules(t *testing.T) { + ctx, config := testShBinary(t, ` + sh_test_host { + name: "foo", + src: "test.sh", + data_device_bins: ["bar"], + data_device_libs: ["libbar"], + } + + cc_binary { + name: "bar", + shared_libs: ["libbar"], + no_libcrt: true, + nocrt: true, + system_shared_libs: [], + stl: "none", + } + + cc_library { + name: "libbar", + no_libcrt: true, + nocrt: true, + system_shared_libs: [], + stl: "none", + } + `) + + buildOS := android.BuildOs.String() + variant := ctx.ModuleForTests("foo", buildOS+"_x86_64") + + relocated := variant.Output("relocated/lib64/libbar.so") + expectedInput := filepath.Join(buildDir, ".intermediates/libbar/android_arm64_armv8-a_shared/libbar.so") + if relocated.Input.String() != expectedInput { + t.Errorf("Unexpected relocation input, expected: %q, actual: %q", + expectedInput, relocated.Input.String()) + } + + mod := variant.Module().(*ShTest) + entries := android.AndroidMkEntriesForTest(t, config, "", mod)[0] + expectedData := []string{ + filepath.Join(buildDir, ".intermediates/bar/android_arm64_armv8-a/:bar"), + // libbar has been relocated, and so has a variant that matches the host arch. + filepath.Join(buildDir, ".intermediates/foo/"+buildOS+"_x86_64/relocated/:lib64/libbar.so"), + } + actualData := entries.EntryMap["LOCAL_TEST_DATA"] + if !reflect.DeepEqual(expectedData, actualData) { + t.Errorf("Unexpected test data, expected: %q, actual: %q", expectedData, actualData) + } +} From 76566992000073df97a263bd5091b00d668d2a53 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Mon, 19 Oct 2020 19:35:01 +0000 Subject: [PATCH 06/15] Update VNDK version for common graphics HALs. We are adding things to them, and in order for core libraries like libui to use them, the newer versions need to be in the VNDK. Exempt-From-Owner-Approval: cherry-pick Bug: 170435409 Test: build Change-Id: I97f26b78758f2eed128fc46db03b5f6ba3f2245f Merged-In: I97f26b78758f2eed128fc46db03b5f6ba3f2245f --- apex/allowed_deps.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt index cd4b05616..41787df74 100644 --- a/apex/allowed_deps.txt +++ b/apex/allowed_deps.txt @@ -17,12 +17,14 @@ adbd(minSdkVersion:(no version)) android.hardware.cas.native@1.0(minSdkVersion:29) android.hardware.cas@1.0(minSdkVersion:29) android.hardware.common-ndk_platform(minSdkVersion:29) +android.hardware.common-unstable-ndk_platform(minSdkVersion:29) android.hardware.graphics.allocator@2.0(minSdkVersion:29) android.hardware.graphics.allocator@3.0(minSdkVersion:29) android.hardware.graphics.allocator@4.0(minSdkVersion:29) android.hardware.graphics.bufferqueue@1.0(minSdkVersion:29) android.hardware.graphics.bufferqueue@2.0(minSdkVersion:29) android.hardware.graphics.common-ndk_platform(minSdkVersion:29) +android.hardware.graphics.common-unstable-ndk_platform(minSdkVersion:29) android.hardware.graphics.common@1.0(minSdkVersion:29) android.hardware.graphics.common@1.1(minSdkVersion:29) android.hardware.graphics.common@1.2(minSdkVersion:29) From 6d0034f49faa79037cfb51c61e41975533a5d432 Mon Sep 17 00:00:00 2001 From: Kousik Kumar Date: Mon, 19 Oct 2020 01:45:46 -0400 Subject: [PATCH 07/15] Deprecate both USE_GOMA and FORCE_USE_GOMA flags Test: m USE_GOMA=true GOMA_DIR=$(goma_ctl goma_dir) toybox m FORCE_USE_GOMA=true GOMA_DIR=$(goma_ctl goma_dir) toybox both result in error message being printed. Bug: b/171325288 Change-Id: I94ccaf217dba71aca990d88d205bad669a49a2f5 Merged-In: I94ccaf217dba71aca990d88d205bad669a49a2f5 --- ui/build/config.go | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/ui/build/config.go b/ui/build/config.go index ef46bec06..28ce57d04 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -154,15 +154,9 @@ func NewConfig(ctx Context, args ...string) Config { "EMPTY_NINJA_FILE", ) - if ret.UseGoma() { - ctx.Println("Goma for Android is being deprecated and replaced with RBE. See go/rbe_for_android for instructions on how to use RBE.") - ctx.Println() - ctx.Println("See go/goma_android_exceptions for exceptions.") - ctx.Fatalln("USE_GOMA flag is no longer supported.") - } - - if ret.ForceUseGoma() { - ret.environ.Set("USE_GOMA", "true") + if ret.UseGoma() || ret.ForceUseGoma() { + ctx.Println("Goma for Android has been deprecated and replaced with RBE. See go/rbe_for_android for instructions on how to use RBE.") + ctx.Fatalln("USE_GOMA / FORCE_USE_GOMA flag is no longer supported.") } // Tell python not to spam the source tree with .pyc files. From cc2ad7f94a191d935ec57ae8e241cf2d366c451c Mon Sep 17 00:00:00 2001 From: Baligh Uddin Date: Sun, 25 Oct 2020 19:01:24 +0000 Subject: [PATCH 08/15] Cleanup references to system/core/base -> system/libbase BUG: 157656545 Test: TH Exempt-From-Owner-Approval: Cleanup CL (Comments) Merged-In: I4ca92160a2572144a24e26e8999794f297073793 Change-Id: I7ae9c974d92402f3f2e510eefb4d314dd497505e --- cc/vndk.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cc/vndk.go b/cc/vndk.go index 6d5b074cd..7d8777c1d 100644 --- a/cc/vndk.go +++ b/cc/vndk.go @@ -740,7 +740,7 @@ func (c *vndkSnapshotSingleton) GenerateBuildActions(ctx android.SingletonContex /* module_paths.txt contains paths on which VNDK modules are defined. e.g., - libbase.so system/core/base + libbase.so system/libbase libc.so bionic/libc ... */ From 807a8f914294169284ca5dca50379d5099214b9a Mon Sep 17 00:00:00 2001 From: Patrice Arruda Date: Thu, 29 Oct 2020 11:01:32 -0700 Subject: [PATCH 09/15] [DO NOT MERGE] Capture the build command that executed the build system. We need to capture the user build command to understand what additional arguments is passed in to Soong. This data is useful to know which targets are being executed and have statistics on top build targets are specified. Bug: b/169453712 Test: ran "m blueprint_tools", "m nothing", "lunch 1" and checked in soong_metrics proto. Change-Id: I7ab94dcf037211f1abffe6afd012b03ffbf99756 Merged-In: I7ab94dcf037211f1abffe6afd012b03ffbf99756 --- cmd/soong_ui/main.go | 1 + ui/metrics/metrics.go | 5 + ui/metrics/metrics_proto/metrics.pb.go | 124 +++++++++++++------------ ui/metrics/metrics_proto/metrics.proto | 3 + 4 files changed, 76 insertions(+), 57 deletions(-) diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index a4b7d0f3d..345a821bb 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -84,6 +84,7 @@ func main() { met := metrics.New() met.SetBuildDateTime(buildStarted) + met.SetBuildCommand(os.Args) stat := &status.Status{} defer stat.Finish() diff --git a/ui/metrics/metrics.go b/ui/metrics/metrics.go index 1d7e00b19..4de5a706c 100644 --- a/ui/metrics/metrics.go +++ b/ui/metrics/metrics.go @@ -18,6 +18,7 @@ import ( "io/ioutil" "os" "runtime" + "strings" "time" "android/soong/ui/metrics/metrics_proto" @@ -140,6 +141,10 @@ func (m *Metrics) Serialize() (data []byte, err error) { return proto.Marshal(&m.metrics) } +func (m *Metrics) SetBuildCommand(cmd []string) { + m.metrics.BuildCommand = proto.String(strings.Join(cmd, " ")) +} + // exports the output to the file at outputPath func (m *Metrics) Dump(outputPath string) error { // ignore the error if the hostname could not be retrieved as it diff --git a/ui/metrics/metrics_proto/metrics.pb.go b/ui/metrics/metrics_proto/metrics.pb.go index ccc903b82..338a922b3 100644 --- a/ui/metrics/metrics_proto/metrics.pb.go +++ b/ui/metrics/metrics_proto/metrics.pb.go @@ -198,7 +198,9 @@ type MetricsBase struct { NinjaRuns []*PerfInfo `protobuf:"bytes,20,rep,name=ninja_runs,json=ninjaRuns" json:"ninja_runs,omitempty"` BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` // The hostname of the machine. - Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` + Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` + // The build command that the user entered to the build system. + BuildCommand *string `protobuf:"bytes,26,opt,name=build_command,json=buildCommand" json:"build_command,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -388,6 +390,13 @@ func (m *MetricsBase) GetHostname() string { return "" } +func (m *MetricsBase) GetBuildCommand() string { + if m != nil && m.BuildCommand != nil { + return *m.BuildCommand + } + return "" +} + type BuildConfig struct { UseGoma *bool `protobuf:"varint,1,opt,name=use_goma,json=useGoma" json:"use_goma,omitempty"` UseRbe *bool `protobuf:"varint,2,opt,name=use_rbe,json=useRbe" json:"use_rbe,omitempty"` @@ -594,60 +603,61 @@ func init() { func init() { proto.RegisterFile("metrics.proto", fileDescriptor_6039342a2ba47b72) } var fileDescriptor_6039342a2ba47b72 = []byte{ - // 871 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xdb, 0x36, - 0x14, 0xae, 0x63, 0x27, 0x96, 0x8e, 0x62, 0x57, 0x61, 0x02, 0x44, 0xed, 0x50, 0xd4, 0x30, 0xf6, - 0xe3, 0x01, 0x9b, 0x57, 0x18, 0x81, 0x11, 0x04, 0xdb, 0x85, 0xed, 0x18, 0xa9, 0xd1, 0xda, 0x2e, - 0x68, 0x3b, 0xeb, 0x76, 0x31, 0x41, 0x91, 0x68, 0x47, 0x9b, 0x25, 0x1a, 0x24, 0x55, 0x2c, 0x0f, - 0xb1, 0xe7, 0xdb, 0xe5, 0x5e, 0x65, 0xe0, 0xa1, 0xe5, 0x28, 0xb9, 0x48, 0xd1, 0x3b, 0xf2, 0x7c, - 0x3f, 0xfc, 0x48, 0x91, 0x47, 0x50, 0x4b, 0x98, 0x12, 0x71, 0x28, 0xdb, 0x1b, 0xc1, 0x15, 0x27, - 0xb5, 0x9b, 0x2c, 0x5e, 0x47, 0xfe, 0xb6, 0xd8, 0xfc, 0xd7, 0x06, 0x67, 0x6c, 0xc6, 0xfd, 0x40, - 0x32, 0xf2, 0x06, 0x4e, 0x0c, 0x21, 0x0a, 0x14, 0xf3, 0x55, 0x9c, 0x30, 0xa9, 0x82, 0x64, 0xe3, - 0x95, 0x1a, 0xa5, 0x56, 0x99, 0x12, 0xc4, 0x2e, 0x03, 0xc5, 0xe6, 0x39, 0x42, 0x5e, 0x80, 0x65, - 0x14, 0x71, 0xe4, 0xed, 0x35, 0x4a, 0x2d, 0x9b, 0x56, 0x71, 0x3e, 0x8a, 0xc8, 0x05, 0xbc, 0xd8, - 0xac, 0x03, 0xb5, 0xe4, 0x22, 0xf1, 0x3f, 0x31, 0x21, 0x63, 0x9e, 0xfa, 0x21, 0x8f, 0x58, 0x1a, - 0x24, 0xcc, 0x2b, 0x23, 0xf7, 0x34, 0x27, 0x5c, 0x1b, 0x7c, 0xb0, 0x85, 0xc9, 0x37, 0x50, 0x57, - 0x81, 0x58, 0x31, 0xe5, 0x6f, 0x04, 0x8f, 0xb2, 0x50, 0x79, 0x15, 0x14, 0xd4, 0x4c, 0xf5, 0x83, - 0x29, 0x92, 0x3f, 0xe0, 0x64, 0x4b, 0x33, 0x21, 0x3e, 0x05, 0x22, 0x0e, 0x52, 0xe5, 0xed, 0x37, - 0x4a, 0xad, 0x7a, 0xe7, 0xbb, 0xf6, 0x83, 0xdd, 0xb6, 0x0b, 0x3b, 0x6d, 0xf7, 0x17, 0xa3, 0xf7, - 0x97, 0xd7, 0x3d, 0x3a, 0xea, 0x4d, 0xe6, 0x17, 0xe5, 0xe1, 0xe4, 0x8a, 0x12, 0xe3, 0xd4, 0xd7, - 0x92, 0x6b, 0xe3, 0x43, 0x46, 0xe0, 0x6c, 0xfd, 0x03, 0x11, 0xde, 0x7a, 0x07, 0x68, 0xfb, 0xfa, - 0x09, 0xdb, 0x1e, 0x1d, 0xbc, 0xbd, 0xa8, 0x2e, 0x26, 0xef, 0x26, 0xd3, 0x5f, 0x27, 0x14, 0x8c, - 0xb8, 0x27, 0xc2, 0x5b, 0xd2, 0x86, 0xe3, 0x82, 0xd5, 0x2e, 0x69, 0x15, 0xb7, 0x75, 0x74, 0x4f, - 0xcc, 0x97, 0xfe, 0x01, 0xb6, 0x81, 0xfc, 0x70, 0x93, 0xed, 0xe8, 0x16, 0xd2, 0x5d, 0x83, 0x0c, - 0x36, 0x59, 0xce, 0x1e, 0x82, 0x7d, 0xcb, 0xe5, 0x36, 0xa6, 0xfd, 0x85, 0x31, 0x2d, 0x2d, 0xc5, - 0x90, 0xef, 0xa1, 0x86, 0x36, 0x9d, 0x34, 0x32, 0x56, 0xf0, 0x85, 0x56, 0x8e, 0x96, 0x77, 0xd2, - 0x08, 0xdd, 0x4e, 0xa1, 0x8a, 0x6e, 0x5c, 0x7a, 0x0e, 0xe6, 0x3e, 0xd0, 0xd3, 0xa9, 0x24, 0xcd, - 0xed, 0x32, 0x5c, 0xfa, 0xec, 0x6f, 0x25, 0x02, 0xef, 0x10, 0x61, 0xc7, 0xc0, 0x43, 0x5d, 0xda, - 0x71, 0x42, 0xc1, 0xa5, 0xd4, 0x16, 0xb5, 0x7b, 0xce, 0x40, 0xd7, 0xa6, 0x92, 0x7c, 0x0b, 0xcf, - 0x0b, 0x1c, 0x0c, 0x5c, 0x37, 0xd7, 0x64, 0xc7, 0xc2, 0x20, 0x3f, 0xc2, 0x71, 0x81, 0xb7, 0xdb, - 0xdc, 0x73, 0x73, 0x98, 0x3b, 0x6e, 0x21, 0x37, 0xcf, 0x94, 0x1f, 0xc5, 0xc2, 0x73, 0x4d, 0x6e, - 0x9e, 0xa9, 0xcb, 0x58, 0x90, 0x73, 0x70, 0x24, 0x53, 0xd9, 0xc6, 0x57, 0x9c, 0xaf, 0xa5, 0x77, - 0xd4, 0x28, 0xb7, 0x9c, 0xce, 0xe9, 0xa3, 0xc3, 0xf9, 0xc0, 0xc4, 0x72, 0x94, 0x2e, 0x39, 0x05, - 0xe4, 0xce, 0x35, 0x95, 0x9c, 0x81, 0xfd, 0x57, 0xa0, 0x62, 0x5f, 0x64, 0xa9, 0xf4, 0xc8, 0xd3, - 0x3a, 0x4b, 0x33, 0x69, 0x96, 0x4a, 0xd2, 0x05, 0x90, 0x9c, 0xa7, 0x2b, 0x23, 0x3b, 0x7e, 0x5a, - 0x66, 0x23, 0x35, 0xd7, 0xa5, 0x71, 0xfa, 0x67, 0x60, 0x74, 0x27, 0x9f, 0xd1, 0x21, 0x15, 0x75, - 0xbf, 0xc0, 0xa1, 0x21, 0x85, 0x3c, 0x5d, 0xc6, 0x2b, 0xef, 0xb4, 0x51, 0x6a, 0x39, 0x9d, 0x97, - 0x8f, 0x94, 0xf8, 0x42, 0x06, 0xc8, 0xa0, 0xce, 0xcd, 0xfd, 0x84, 0xbc, 0x04, 0xbc, 0x49, 0xf8, - 0xbe, 0x3d, 0x3c, 0xb8, 0xdd, 0xbc, 0xf9, 0x06, 0x0e, 0x8b, 0x4f, 0x8e, 0x58, 0x50, 0x59, 0xcc, - 0x86, 0xd4, 0x7d, 0x46, 0x6a, 0x60, 0xeb, 0xd1, 0xe5, 0xb0, 0xbf, 0xb8, 0x72, 0x4b, 0xa4, 0x0a, - 0xfa, 0x35, 0xba, 0x7b, 0xcd, 0x9f, 0xa1, 0xa2, 0xef, 0x16, 0x71, 0x20, 0xbf, 0x5d, 0xee, 0x33, - 0x8d, 0xf6, 0xe8, 0xd8, 0x2d, 0x11, 0x1b, 0xf6, 0x7b, 0x74, 0xdc, 0x3d, 0x73, 0xf7, 0x74, 0xed, - 0xe3, 0x79, 0xd7, 0x2d, 0x13, 0x80, 0x83, 0x8f, 0xe7, 0x5d, 0xbf, 0x7b, 0xe6, 0x56, 0x9a, 0x2b, - 0x70, 0x0a, 0x39, 0x75, 0x9b, 0xca, 0x24, 0xf3, 0x57, 0x3c, 0x09, 0xb0, 0x99, 0x59, 0xb4, 0x9a, - 0x49, 0x76, 0xc5, 0x93, 0x40, 0x7f, 0x6d, 0x0d, 0x89, 0x1b, 0x86, 0x0d, 0xcc, 0xa2, 0x07, 0x99, - 0x64, 0xf4, 0x86, 0x91, 0xaf, 0xa1, 0xbe, 0xe4, 0x22, 0x64, 0xfe, 0x4e, 0x59, 0x46, 0xfc, 0x10, - 0xab, 0x0b, 0x23, 0x6f, 0xfe, 0x53, 0x02, 0x2b, 0x3f, 0x4b, 0x42, 0xa0, 0x12, 0x31, 0x19, 0xe2, - 0x12, 0x36, 0xc5, 0xb1, 0xae, 0xe1, 0x89, 0x98, 0xee, 0x88, 0x63, 0xf2, 0x0a, 0x40, 0xaa, 0x40, - 0x28, 0x6c, 0xb1, 0x68, 0x5b, 0xa1, 0x36, 0x56, 0x74, 0x67, 0x25, 0x5f, 0x81, 0x2d, 0x58, 0xb0, - 0x36, 0x68, 0x05, 0x51, 0x4b, 0x17, 0x10, 0x7c, 0x05, 0x90, 0xb0, 0x84, 0x8b, 0x3b, 0x9d, 0x0b, - 0x3b, 0x5d, 0x85, 0xda, 0xa6, 0xb2, 0x90, 0xac, 0xf9, 0x5f, 0x09, 0xea, 0x63, 0x1e, 0x65, 0x6b, - 0x36, 0xbf, 0xdb, 0x30, 0x4c, 0xb5, 0xc8, 0x3f, 0xab, 0xbc, 0x93, 0x8a, 0x25, 0x98, 0xae, 0xde, - 0xf9, 0xfe, 0xf1, 0xa3, 0x7e, 0x20, 0x32, 0x0d, 0x72, 0xf6, 0xdb, 0x6c, 0x3e, 0x1c, 0x17, 0x9e, - 0x37, 0x4a, 0x66, 0x68, 0x43, 0x5e, 0x83, 0x93, 0xa0, 0xc6, 0x57, 0x77, 0x9b, 0x7c, 0x7f, 0x90, - 0xec, 0x6c, 0xf4, 0x01, 0xa6, 0x59, 0xe2, 0xf3, 0xa5, 0x6f, 0x8a, 0x12, 0x77, 0x5a, 0xa3, 0x87, - 0x69, 0x96, 0x4c, 0x97, 0x66, 0x3d, 0xd9, 0xfc, 0x09, 0x9c, 0xc2, 0x5a, 0x0f, 0x3f, 0xb7, 0x0d, - 0xfb, 0xb3, 0xe9, 0x74, 0xa2, 0xef, 0x85, 0x05, 0x95, 0x71, 0xef, 0xdd, 0xd0, 0xdd, 0xeb, 0x1f, - 0xbd, 0x2d, 0xff, 0x9e, 0xff, 0xd6, 0x7c, 0xfc, 0xad, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x66, - 0x62, 0xba, 0xc0, 0xe6, 0x06, 0x00, 0x00, + // 887 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x6f, 0x6f, 0xe2, 0x36, + 0x18, 0x3f, 0x0a, 0x2d, 0xc9, 0x13, 0xe0, 0x52, 0xb7, 0x52, 0x73, 0x9d, 0x4e, 0x87, 0xd8, 0x3f, + 0x26, 0x6d, 0xec, 0x84, 0x2a, 0x54, 0x55, 0xdb, 0x0b, 0xa0, 0xa8, 0x87, 0xee, 0x80, 0x93, 0x81, + 0xee, 0xb6, 0x17, 0x8b, 0xd2, 0xc4, 0xd0, 0x6c, 0x24, 0x46, 0xb6, 0x73, 0x5a, 0x3f, 0xc4, 0x3e, + 0xe3, 0xbe, 0xc8, 0x5e, 0x4c, 0x7e, 0x4c, 0x28, 0xed, 0x8b, 0x4e, 0x7d, 0x67, 0x3f, 0xbf, 0x3f, + 0xfe, 0xd9, 0xb1, 0x9f, 0x40, 0x35, 0x61, 0x4a, 0xc4, 0xa1, 0x6c, 0xad, 0x05, 0x57, 0x9c, 0x54, + 0x6f, 0xb2, 0x78, 0x15, 0xf9, 0x9b, 0x62, 0xe3, 0x5f, 0x1b, 0x9c, 0x91, 0x19, 0xf7, 0x02, 0xc9, + 0xc8, 0x5b, 0x38, 0x36, 0x84, 0x28, 0x50, 0xcc, 0x57, 0x71, 0xc2, 0xa4, 0x0a, 0x92, 0xb5, 0x57, + 0xa8, 0x17, 0x9a, 0x45, 0x4a, 0x10, 0xbb, 0x0c, 0x14, 0x9b, 0xe5, 0x08, 0x79, 0x05, 0x96, 0x51, + 0xc4, 0x91, 0xb7, 0x57, 0x2f, 0x34, 0x6d, 0x5a, 0xc6, 0xf9, 0x30, 0x22, 0x17, 0xf0, 0x6a, 0xbd, + 0x0a, 0xd4, 0x82, 0x8b, 0xc4, 0xff, 0xcc, 0x84, 0x8c, 0x79, 0xea, 0x87, 0x3c, 0x62, 0x69, 0x90, + 0x30, 0xaf, 0x88, 0xdc, 0x93, 0x9c, 0x70, 0x6d, 0xf0, 0xfe, 0x06, 0x26, 0x5f, 0x43, 0x4d, 0x05, + 0x62, 0xc9, 0x94, 0xbf, 0x16, 0x3c, 0xca, 0x42, 0xe5, 0x95, 0x50, 0x50, 0x35, 0xd5, 0x8f, 0xa6, + 0x48, 0x7e, 0x87, 0xe3, 0x0d, 0xcd, 0x84, 0xf8, 0x1c, 0x88, 0x38, 0x48, 0x95, 0xb7, 0x5f, 0x2f, + 0x34, 0x6b, 0xed, 0x6f, 0x5b, 0x0f, 0x76, 0xdb, 0xda, 0xd9, 0x69, 0xab, 0x37, 0x1f, 0x7e, 0xb8, + 0xbc, 0xee, 0xd2, 0x61, 0x77, 0x3c, 0xbb, 0x28, 0x0e, 0xc6, 0x57, 0x94, 0x18, 0xa7, 0x9e, 0x96, + 0x5c, 0x1b, 0x1f, 0x32, 0x04, 0x67, 0xe3, 0x1f, 0x88, 0xf0, 0xd6, 0x3b, 0x40, 0xdb, 0x37, 0x4f, + 0xd8, 0x76, 0x69, 0xff, 0xdd, 0x45, 0x79, 0x3e, 0x7e, 0x3f, 0x9e, 0xfc, 0x32, 0xa6, 0x60, 0xc4, + 0x5d, 0x11, 0xde, 0x92, 0x16, 0x1c, 0xed, 0x58, 0x6d, 0x93, 0x96, 0x71, 0x5b, 0x87, 0xf7, 0xc4, + 0x7c, 0xe9, 0xef, 0x61, 0x13, 0xc8, 0x0f, 0xd7, 0xd9, 0x96, 0x6e, 0x21, 0xdd, 0x35, 0x48, 0x7f, + 0x9d, 0xe5, 0xec, 0x01, 0xd8, 0xb7, 0x5c, 0x6e, 0x62, 0xda, 0xcf, 0x8c, 0x69, 0x69, 0x29, 0x86, + 0xfc, 0x00, 0x55, 0xb4, 0x69, 0xa7, 0x91, 0xb1, 0x82, 0x67, 0x5a, 0x39, 0x5a, 0xde, 0x4e, 0x23, + 0x74, 0x3b, 0x81, 0x32, 0xba, 0x71, 0xe9, 0x39, 0x98, 0xfb, 0x40, 0x4f, 0x27, 0x92, 0x34, 0x36, + 0xcb, 0x70, 0xe9, 0xb3, 0xbf, 0x94, 0x08, 0xbc, 0x0a, 0xc2, 0x8e, 0x81, 0x07, 0xba, 0xb4, 0xe5, + 0x84, 0x82, 0x4b, 0xa9, 0x2d, 0xaa, 0xf7, 0x9c, 0xbe, 0xae, 0x4d, 0x24, 0xf9, 0x06, 0x5e, 0xee, + 0x70, 0x30, 0x70, 0xcd, 0x5c, 0x93, 0x2d, 0x0b, 0x83, 0xfc, 0x00, 0x47, 0x3b, 0xbc, 0xed, 0xe6, + 0x5e, 0x9a, 0xc3, 0xdc, 0x72, 0x77, 0x72, 0xf3, 0x4c, 0xf9, 0x51, 0x2c, 0x3c, 0xd7, 0xe4, 0xe6, + 0x99, 0xba, 0x8c, 0x05, 0x39, 0x07, 0x47, 0x32, 0x95, 0xad, 0x7d, 0xc5, 0xf9, 0x4a, 0x7a, 0x87, + 0xf5, 0x62, 0xd3, 0x69, 0x9f, 0x3c, 0x3a, 0x9c, 0x8f, 0x4c, 0x2c, 0x86, 0xe9, 0x82, 0x53, 0x40, + 0xee, 0x4c, 0x53, 0xc9, 0x19, 0xd8, 0x7f, 0x06, 0x2a, 0xf6, 0x45, 0x96, 0x4a, 0x8f, 0x3c, 0xad, + 0xb3, 0x34, 0x93, 0x66, 0xa9, 0x24, 0x1d, 0x00, 0xc9, 0x79, 0xba, 0x34, 0xb2, 0xa3, 0xa7, 0x65, + 0x36, 0x52, 0x73, 0x5d, 0x1a, 0xa7, 0x7f, 0x04, 0x46, 0x77, 0xfc, 0x3f, 0x3a, 0xa4, 0xa2, 0xee, + 0x67, 0xa8, 0x18, 0x52, 0xc8, 0xd3, 0x45, 0xbc, 0xf4, 0x4e, 0xea, 0x85, 0xa6, 0xd3, 0x3e, 0x7d, + 0xa4, 0xc4, 0x17, 0xd2, 0x47, 0x06, 0x75, 0x6e, 0xee, 0x27, 0xe4, 0x14, 0xf0, 0x26, 0xe1, 0xfb, + 0xf6, 0xf0, 0xe0, 0xb6, 0x73, 0xf2, 0x25, 0x54, 0x73, 0xeb, 0x24, 0x09, 0xd2, 0xc8, 0x3b, 0x45, + 0x42, 0x65, 0xa3, 0xc7, 0x5a, 0xe3, 0x2d, 0x54, 0x76, 0xdf, 0x25, 0xb1, 0xa0, 0x34, 0x9f, 0x0e, + 0xa8, 0xfb, 0x82, 0x54, 0xc1, 0xd6, 0xa3, 0xcb, 0x41, 0x6f, 0x7e, 0xe5, 0x16, 0x48, 0x19, 0xf4, + 0x93, 0x75, 0xf7, 0x1a, 0x3f, 0x41, 0x49, 0x5f, 0x40, 0xe2, 0x40, 0x7e, 0x05, 0xdd, 0x17, 0x1a, + 0xed, 0xd2, 0x91, 0x5b, 0x20, 0x36, 0xec, 0x77, 0xe9, 0xa8, 0x73, 0xe6, 0xee, 0xe9, 0xda, 0xa7, + 0xf3, 0x8e, 0x5b, 0x24, 0x00, 0x07, 0x9f, 0xce, 0x3b, 0x7e, 0xe7, 0xcc, 0x2d, 0x35, 0x96, 0xe0, + 0xec, 0x6c, 0x46, 0xf7, 0xb2, 0x4c, 0x32, 0x7f, 0xc9, 0x93, 0x00, 0x3b, 0x9e, 0x45, 0xcb, 0x99, + 0x64, 0x57, 0x3c, 0x09, 0xf4, 0x95, 0xd0, 0x90, 0xb8, 0x61, 0xd8, 0xe5, 0x2c, 0x7a, 0x90, 0x49, + 0x46, 0x6f, 0x18, 0xf9, 0x0a, 0x6a, 0x0b, 0x2e, 0x42, 0xe6, 0x6f, 0x95, 0x45, 0xc4, 0x2b, 0x58, + 0x9d, 0x1b, 0x79, 0xe3, 0xef, 0x02, 0x58, 0xf9, 0x81, 0x13, 0x02, 0xa5, 0x88, 0xc9, 0x10, 0x97, + 0xb0, 0x29, 0x8e, 0x75, 0x0d, 0x8f, 0xcd, 0xb4, 0x50, 0x1c, 0x93, 0xd7, 0x00, 0x52, 0x05, 0x42, + 0x61, 0x1f, 0x46, 0xdb, 0x12, 0xb5, 0xb1, 0xa2, 0xdb, 0x2f, 0xf9, 0x02, 0x6c, 0xc1, 0x82, 0x95, + 0x41, 0x4b, 0x88, 0x5a, 0xba, 0x80, 0xe0, 0x6b, 0x80, 0x84, 0x25, 0x5c, 0xdc, 0xe9, 0x5c, 0xd8, + 0x0e, 0x4b, 0xd4, 0x36, 0x95, 0xb9, 0x64, 0x8d, 0x7f, 0x0a, 0x50, 0x1b, 0xf1, 0x28, 0x5b, 0xb1, + 0xd9, 0xdd, 0x9a, 0x61, 0xaa, 0x79, 0xfe, 0xed, 0xe5, 0x9d, 0x54, 0x2c, 0xc1, 0x74, 0xb5, 0xf6, + 0x77, 0x8f, 0x5f, 0xfe, 0x03, 0x91, 0xe9, 0xa2, 0xd3, 0x5f, 0xa7, 0xb3, 0xc1, 0x68, 0xa7, 0x07, + 0xa0, 0x64, 0x8a, 0x36, 0xe4, 0x0d, 0x38, 0x09, 0x6a, 0x7c, 0x75, 0xb7, 0xce, 0xf7, 0x07, 0xc9, + 0xd6, 0x46, 0x1f, 0x60, 0x9a, 0x25, 0x3e, 0x5f, 0xf8, 0xa6, 0x28, 0x71, 0xa7, 0x55, 0x5a, 0x49, + 0xb3, 0x64, 0xb2, 0x30, 0xeb, 0xc9, 0xc6, 0x8f, 0xe0, 0xec, 0xac, 0xf5, 0xf0, 0x73, 0xdb, 0xb0, + 0x3f, 0x9d, 0x4c, 0xc6, 0xfa, 0x5e, 0x58, 0x50, 0x1a, 0x75, 0xdf, 0x0f, 0xdc, 0xbd, 0xde, 0xe1, + 0xbb, 0xe2, 0x6f, 0xf9, 0xbf, 0xcf, 0xc7, 0x7f, 0xdf, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf1, + 0x41, 0x61, 0x5e, 0x0b, 0x07, 0x00, 0x00, } diff --git a/ui/metrics/metrics_proto/metrics.proto b/ui/metrics/metrics_proto/metrics.proto index 5d26b673d..c44e9f812 100644 --- a/ui/metrics/metrics_proto/metrics.proto +++ b/ui/metrics/metrics_proto/metrics.proto @@ -96,6 +96,9 @@ message MetricsBase { // The hostname of the machine. optional string hostname = 24; + + // The build command that the user entered to the build system. + optional string build_command = 26; } message BuildConfig { From c5563628f07643c12c25c61c26c365aad9581792 Mon Sep 17 00:00:00 2001 From: Patrice Arruda Date: Thu, 29 Oct 2020 11:01:32 -0700 Subject: [PATCH 10/15] [DO NOT MERGE] Capture the build command that executed the build system. We need to capture the user build command to understand what additional arguments is passed in to Soong. This data is useful to know which targets are being executed and have statistics on top build targets are specified. Bug: b/169453712 Test: ran "m blueprint_tools", "m nothing", "lunch 1" and checked in soong_metrics proto. Change-Id: I7ab94dcf037211f1abffe6afd012b03ffbf99756 Merged-In: I7ab94dcf037211f1abffe6afd012b03ffbf99756 Merged-In: If9a1443eff6b48cee865ea914370261f5e0cfee6 --- cmd/soong_ui/main.go | 1 + ui/metrics/metrics.go | 5 + ui/metrics/metrics_proto/metrics.pb.go | 132 +++++++++++++------------ ui/metrics/metrics_proto/metrics.proto | 5 +- 4 files changed, 81 insertions(+), 62 deletions(-) diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index 78e636cf0..a880eea72 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -139,6 +139,7 @@ func main() { met := metrics.New() met.SetBuildDateTime(buildStarted) + met.SetBuildCommand(os.Args) stat := &status.Status{} defer stat.Finish() diff --git a/ui/metrics/metrics.go b/ui/metrics/metrics.go index 1018eb31e..ab57ee59b 100644 --- a/ui/metrics/metrics.go +++ b/ui/metrics/metrics.go @@ -18,6 +18,7 @@ import ( "io/ioutil" "os" "runtime" + "strings" "time" "github.com/golang/protobuf/proto" @@ -138,6 +139,10 @@ func (m *Metrics) SetBuildDateTime(buildTimestamp time.Time) { m.metrics.BuildDateTimestamp = proto.Int64(buildTimestamp.UnixNano() / int64(time.Second)) } +func (m *Metrics) SetBuildCommand(cmd []string) { + m.metrics.BuildCommand = proto.String(strings.Join(cmd, " ")) +} + // exports the output to the file at outputPath func (m *Metrics) Dump(outputPath string) error { // ignore the error if the hostname could not be retrieved as it diff --git a/ui/metrics/metrics_proto/metrics.pb.go b/ui/metrics/metrics_proto/metrics.pb.go index 5e214a884..a2cfe5d60 100644 --- a/ui/metrics/metrics_proto/metrics.pb.go +++ b/ui/metrics/metrics_proto/metrics.pb.go @@ -200,7 +200,9 @@ type MetricsBase struct { Total *PerfInfo `protobuf:"bytes,21,opt,name=total" json:"total,omitempty"` BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` // The hostname of the machine. - Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` + Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` + // The build command that the user entered to the build system. + BuildCommand *string `protobuf:"bytes,26,opt,name=build_command,json=buildCommand" json:"build_command,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -397,6 +399,13 @@ func (m *MetricsBase) GetHostname() string { return "" } +func (m *MetricsBase) GetBuildCommand() string { + if m != nil && m.BuildCommand != nil { + return *m.BuildCommand + } + return "" +} + type BuildConfig struct { UseGoma *bool `protobuf:"varint,1,opt,name=use_goma,json=useGoma" json:"use_goma,omitempty"` UseRbe *bool `protobuf:"varint,2,opt,name=use_rbe,json=useRbe" json:"use_rbe,omitempty"` @@ -694,64 +703,65 @@ func init() { func init() { proto.RegisterFile("metrics.proto", fileDescriptor_6039342a2ba47b72) } var fileDescriptor_6039342a2ba47b72 = []byte{ - // 934 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x6f, 0x6b, 0xdb, 0x46, - 0x18, 0xaf, 0x62, 0x25, 0x96, 0x1e, 0xc5, 0xae, 0x7a, 0x69, 0x89, 0xda, 0x12, 0x66, 0xc4, 0x3a, - 0xf2, 0x62, 0x4d, 0x4b, 0x56, 0x42, 0x09, 0x65, 0x90, 0x38, 0x21, 0x74, 0x21, 0x71, 0xb9, 0xc4, - 0x5d, 0xd9, 0x5e, 0x08, 0x59, 0x3a, 0x3b, 0xea, 0x2c, 0x9d, 0xb9, 0x3b, 0x95, 0xf9, 0x43, 0xec, - 0x4b, 0xed, 0xbb, 0xec, 0x7b, 0x8c, 0x7b, 0x4e, 0x52, 0x14, 0x70, 0x69, 0xe8, 0x3b, 0xe9, 0xf9, - 0xfd, 0xb9, 0xdf, 0x3d, 0x77, 0x7a, 0x10, 0xf4, 0x72, 0xa6, 0x44, 0x96, 0xc8, 0xbd, 0x85, 0xe0, - 0x8a, 0x93, 0x2d, 0xc9, 0x79, 0x31, 0x8b, 0x26, 0x65, 0x36, 0x4f, 0xa3, 0x0a, 0x0a, 0xff, 0x05, - 0xf0, 0x2e, 0xcc, 0xf3, 0x71, 0x2c, 0x19, 0x79, 0x0d, 0x8f, 0x0d, 0x21, 0x8d, 0x15, 0x8b, 0x54, - 0x96, 0x33, 0xa9, 0xe2, 0x7c, 0x11, 0x58, 0x03, 0x6b, 0xb7, 0x43, 0x09, 0x62, 0x27, 0xb1, 0x62, - 0xd7, 0x35, 0x42, 0x9e, 0x82, 0x63, 0x14, 0x59, 0x1a, 0xac, 0x0d, 0xac, 0x5d, 0x97, 0x76, 0xf1, - 0xfd, 0x7d, 0x4a, 0x0e, 0xe1, 0xe9, 0x62, 0x1e, 0xab, 0x29, 0x17, 0x79, 0xf4, 0x85, 0x09, 0x99, - 0xf1, 0x22, 0x4a, 0x78, 0xca, 0x8a, 0x38, 0x67, 0x41, 0x07, 0xb9, 0xdb, 0x35, 0xe1, 0xa3, 0xc1, - 0x87, 0x15, 0x4c, 0x5e, 0x40, 0x5f, 0xc5, 0x62, 0xc6, 0x54, 0xb4, 0x10, 0x3c, 0x2d, 0x13, 0x15, - 0xd8, 0x28, 0xe8, 0x99, 0xea, 0x07, 0x53, 0x24, 0x29, 0x3c, 0xae, 0x68, 0x26, 0xc4, 0x97, 0x58, - 0x64, 0x71, 0xa1, 0x82, 0xf5, 0x81, 0xb5, 0xdb, 0xdf, 0x7f, 0xb9, 0xb7, 0x62, 0xcf, 0x7b, 0xad, - 0xfd, 0xee, 0x1d, 0x6b, 0xe4, 0xa3, 0x11, 0x1d, 0x76, 0x4e, 0x2f, 0xcf, 0x28, 0x31, 0x7e, 0x6d, - 0x80, 0x8c, 0xc0, 0xab, 0x56, 0x89, 0x45, 0x72, 0x13, 0x6c, 0xa0, 0xf9, 0x8b, 0x6f, 0x9a, 0x1f, - 0x89, 0xe4, 0xe6, 0xb0, 0x3b, 0xbe, 0x3c, 0xbf, 0x1c, 0xfd, 0x7e, 0x49, 0xc1, 0x58, 0xe8, 0x22, - 0xd9, 0x83, 0xad, 0x96, 0x61, 0x93, 0xba, 0x8b, 0x5b, 0x7c, 0x74, 0x4b, 0xac, 0x03, 0xfc, 0x0c, - 0x55, 0xac, 0x28, 0x59, 0x94, 0x0d, 0xdd, 0x41, 0xba, 0x6f, 0x90, 0xe1, 0xa2, 0xac, 0xd9, 0xe7, - 0xe0, 0xde, 0x70, 0x59, 0x85, 0x75, 0xbf, 0x2b, 0xac, 0xa3, 0x0d, 0x30, 0x2a, 0x85, 0x1e, 0x9a, - 0xed, 0x17, 0xa9, 0x31, 0x84, 0xef, 0x32, 0xf4, 0xb4, 0xc9, 0x7e, 0x91, 0xa2, 0xe7, 0x36, 0x74, - 0xd1, 0x93, 0xcb, 0xc0, 0xc3, 0x3d, 0x6c, 0xe8, 0xd7, 0x91, 0x24, 0x61, 0xb5, 0x18, 0x97, 0x11, - 0xfb, 0x5b, 0x89, 0x38, 0xd8, 0x44, 0xd8, 0x33, 0xf0, 0xa9, 0x2e, 0x35, 0x9c, 0x44, 0x70, 0x29, - 0xb5, 0x45, 0xef, 0x96, 0x33, 0xd4, 0xb5, 0x91, 0x24, 0x3f, 0xc1, 0xc3, 0x16, 0x07, 0x63, 0xf7, - 0xcd, 0xf5, 0x69, 0x58, 0x18, 0xe4, 0x25, 0x6c, 0xb5, 0x78, 0xcd, 0x16, 0x1f, 0x9a, 0xc6, 0x36, - 0xdc, 0x56, 0x6e, 0x5e, 0xaa, 0x28, 0xcd, 0x44, 0xe0, 0x9b, 0xdc, 0xbc, 0x54, 0x27, 0x99, 0x20, - 0xbf, 0x82, 0x27, 0x99, 0x2a, 0x17, 0x91, 0xe2, 0x7c, 0x2e, 0x83, 0x47, 0x83, 0xce, 0xae, 0xb7, - 0xbf, 0xb3, 0xb2, 0x45, 0x1f, 0x98, 0x98, 0xbe, 0x2f, 0xa6, 0x9c, 0x02, 0x2a, 0xae, 0xb5, 0x80, - 0x1c, 0x82, 0xfb, 0x57, 0xac, 0xb2, 0x48, 0x94, 0x85, 0x0c, 0xc8, 0x7d, 0xd4, 0x8e, 0xe6, 0xd3, - 0xb2, 0x90, 0xe4, 0x1d, 0x80, 0x61, 0xa2, 0x78, 0xeb, 0x3e, 0x62, 0x17, 0xd1, 0x5a, 0x5d, 0x64, - 0xc5, 0xe7, 0xd8, 0xa8, 0x1f, 0xdf, 0x4b, 0x8d, 0x02, 0x54, 0xff, 0x02, 0xeb, 0x8a, 0xab, 0x78, - 0x1e, 0x3c, 0x19, 0x58, 0xdf, 0x16, 0x1a, 0x2e, 0x19, 0xc2, 0xa6, 0x21, 0x24, 0xbc, 0x98, 0x66, - 0xb3, 0x60, 0x1b, 0xb5, 0x83, 0x95, 0x5a, 0xfc, 0x0c, 0x87, 0xc8, 0xa3, 0xde, 0xe4, 0xf6, 0x85, - 0x3c, 0x03, 0xbc, 0xa2, 0x38, 0x4a, 0x02, 0x3c, 0x8b, 0xe6, 0x3d, 0x7c, 0x0d, 0x9b, 0x77, 0x3e, - 0x5f, 0x07, 0xec, 0xf1, 0xd5, 0x29, 0xf5, 0x1f, 0x90, 0x1e, 0xb8, 0xfa, 0xe9, 0xe4, 0xf4, 0x78, - 0x7c, 0xe6, 0x5b, 0xa4, 0x0b, 0xfa, 0x93, 0xf7, 0xd7, 0xc2, 0x77, 0x60, 0xe3, 0x01, 0x7b, 0x50, - 0x5f, 0x58, 0xff, 0x81, 0x46, 0x8f, 0xe8, 0x85, 0x6f, 0x11, 0x17, 0xd6, 0x8f, 0xe8, 0xc5, 0xc1, - 0x1b, 0x7f, 0x4d, 0xd7, 0x3e, 0xbd, 0x3d, 0xf0, 0x3b, 0x04, 0x60, 0xe3, 0xd3, 0xdb, 0x83, 0xe8, - 0xe0, 0x8d, 0x6f, 0x87, 0x33, 0xf0, 0x5a, 0x39, 0xf5, 0x44, 0x2c, 0x25, 0x8b, 0x66, 0x3c, 0x8f, - 0x71, 0x6e, 0x3a, 0xb4, 0x5b, 0x4a, 0x76, 0xc6, 0xf3, 0x58, 0x5f, 0x20, 0x0d, 0x89, 0x09, 0xc3, - 0x59, 0xe9, 0xd0, 0x8d, 0x52, 0x32, 0x3a, 0x61, 0xe4, 0x47, 0xe8, 0x4f, 0xb9, 0x48, 0x58, 0xd4, - 0x28, 0x3b, 0x88, 0x6f, 0x62, 0x75, 0x6c, 0xe4, 0xe1, 0x3f, 0x16, 0x38, 0x75, 0x37, 0x09, 0x01, - 0x3b, 0x65, 0x32, 0xc1, 0x25, 0x5c, 0x8a, 0xcf, 0xba, 0x86, 0x1d, 0x31, 0x83, 0x18, 0x9f, 0xc9, - 0x0e, 0x80, 0x54, 0xb1, 0x50, 0x38, 0xcd, 0xd1, 0xd6, 0xa6, 0x2e, 0x56, 0xf4, 0x10, 0x27, 0xcf, - 0xc1, 0x15, 0x2c, 0x9e, 0x1b, 0xd4, 0x46, 0xd4, 0xd1, 0x05, 0x04, 0x77, 0x00, 0x72, 0x96, 0x73, - 0xb1, 0xd4, 0xb9, 0x70, 0xa8, 0xda, 0xd4, 0x35, 0x95, 0xb1, 0x64, 0xe1, 0x7f, 0x16, 0xf4, 0x2f, - 0x78, 0x5a, 0xce, 0xd9, 0xf5, 0x72, 0xc1, 0x30, 0xd5, 0x9f, 0xf5, 0xe1, 0xca, 0xa5, 0x54, 0x2c, - 0xc7, 0x74, 0xfd, 0xfd, 0x57, 0xab, 0xa7, 0xc5, 0x1d, 0xa9, 0x39, 0xeb, 0x2b, 0x94, 0xb5, 0xe6, - 0xc6, 0xe4, 0xb6, 0x4a, 0x7e, 0x00, 0x2f, 0x47, 0x4d, 0xa4, 0x96, 0x8b, 0x7a, 0x97, 0x90, 0x37, - 0x36, 0xba, 0x8d, 0x45, 0x99, 0x47, 0x7c, 0x1a, 0x99, 0xa2, 0xc4, 0xfd, 0xf6, 0xe8, 0x66, 0x51, - 0xe6, 0xa3, 0xa9, 0x59, 0x4f, 0x86, 0xaf, 0xaa, 0xf3, 0xaa, 0x5c, 0xef, 0x1c, 0xba, 0x0b, 0xeb, - 0x57, 0xa3, 0xd1, 0xa5, 0xbe, 0x1d, 0x0e, 0xd8, 0x17, 0x47, 0xe7, 0xa7, 0xfe, 0x5a, 0x38, 0x87, - 0x67, 0x43, 0x91, 0xa9, 0x2c, 0x89, 0xe7, 0x63, 0xc9, 0xc4, 0x6f, 0xbc, 0x14, 0x05, 0x5b, 0x56, - 0xc3, 0xae, 0x69, 0xba, 0xd5, 0x6a, 0xfa, 0x21, 0x74, 0xab, 0x5d, 0x62, 0xca, 0xaf, 0x5d, 0xef, - 0xd6, 0xbc, 0xa4, 0xb5, 0x20, 0x9c, 0xc0, 0xf3, 0x15, 0xab, 0xc9, 0x7a, 0xb9, 0x21, 0xd8, 0x49, - 0xf9, 0x59, 0x06, 0x16, 0x7e, 0xab, 0xab, 0x3b, 0xfb, 0xf5, 0xb4, 0x14, 0xc5, 0xc7, 0x4f, 0xfe, - 0xa8, 0x7e, 0x07, 0x2a, 0x45, 0x84, 0xff, 0x08, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x7b, - 0xda, 0x72, 0x33, 0x08, 0x00, 0x00, + // 951 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x4e, 0xdb, 0x48, + 0x17, 0xaf, 0x49, 0x20, 0xf1, 0x71, 0x92, 0xba, 0x03, 0x15, 0x2e, 0x15, 0xfa, 0x22, 0x7f, 0xdb, + 0x15, 0x17, 0x5b, 0x5a, 0xb1, 0x15, 0xaa, 0x50, 0xb5, 0x12, 0x04, 0x84, 0xba, 0x08, 0x52, 0x0d, + 0xa4, 0x5b, 0xed, 0x5e, 0x58, 0x13, 0x7b, 0x02, 0xee, 0xc6, 0x9e, 0x68, 0x66, 0x5c, 0x2d, 0x0f, + 0xb1, 0x8f, 0xb9, 0xda, 0xd7, 0x58, 0xcd, 0x19, 0xdb, 0x18, 0x29, 0x55, 0x51, 0xef, 0xec, 0xf3, + 0xfb, 0x33, 0xbf, 0x33, 0x9e, 0x39, 0x32, 0xf4, 0x33, 0xae, 0x65, 0x1a, 0xab, 0xdd, 0x85, 0x14, + 0x5a, 0x90, 0x75, 0x25, 0x44, 0x7e, 0x1d, 0x4d, 0x8b, 0x74, 0x9e, 0x44, 0x25, 0x14, 0xfe, 0x0b, + 0xe0, 0x9d, 0xdb, 0xe7, 0x23, 0xa6, 0x38, 0x79, 0x0d, 0x1b, 0x96, 0x90, 0x30, 0xcd, 0x23, 0x9d, + 0x66, 0x5c, 0x69, 0x96, 0x2d, 0x02, 0x67, 0xe8, 0xec, 0xb4, 0x28, 0x41, 0xec, 0x98, 0x69, 0x7e, + 0x55, 0x21, 0xe4, 0x19, 0x74, 0xad, 0x22, 0x4d, 0x82, 0x95, 0xa1, 0xb3, 0xe3, 0xd2, 0x0e, 0xbe, + 0xbf, 0x4f, 0xc8, 0x01, 0x3c, 0x5b, 0xcc, 0x99, 0x9e, 0x09, 0x99, 0x45, 0x5f, 0xb8, 0x54, 0xa9, + 0xc8, 0xa3, 0x58, 0x24, 0x3c, 0x67, 0x19, 0x0f, 0x5a, 0xc8, 0xdd, 0xac, 0x08, 0x1f, 0x2d, 0x3e, + 0x2a, 0x61, 0xf2, 0x02, 0x06, 0x9a, 0xc9, 0x6b, 0xae, 0xa3, 0x85, 0x14, 0x49, 0x11, 0xeb, 0xa0, + 0x8d, 0x82, 0xbe, 0xad, 0x7e, 0xb0, 0x45, 0x92, 0xc0, 0x46, 0x49, 0xb3, 0x21, 0xbe, 0x30, 0x99, + 0xb2, 0x5c, 0x07, 0xab, 0x43, 0x67, 0x67, 0xb0, 0xf7, 0x72, 0x77, 0x49, 0xcf, 0xbb, 0x8d, 0x7e, + 0x77, 0x8f, 0x0c, 0xf2, 0xd1, 0x8a, 0x0e, 0x5a, 0x27, 0x17, 0xa7, 0x94, 0x58, 0xbf, 0x26, 0x40, + 0xc6, 0xe0, 0x95, 0xab, 0x30, 0x19, 0xdf, 0x04, 0x6b, 0x68, 0xfe, 0xe2, 0x9b, 0xe6, 0x87, 0x32, + 0xbe, 0x39, 0xe8, 0x4c, 0x2e, 0xce, 0x2e, 0xc6, 0xbf, 0x5d, 0x50, 0xb0, 0x16, 0xa6, 0x48, 0x76, + 0x61, 0xbd, 0x61, 0x58, 0xa7, 0xee, 0x60, 0x8b, 0x4f, 0xee, 0x88, 0x55, 0x80, 0x9f, 0xa0, 0x8c, + 0x15, 0xc5, 0x8b, 0xa2, 0xa6, 0x77, 0x91, 0xee, 0x5b, 0x64, 0xb4, 0x28, 0x2a, 0xf6, 0x19, 0xb8, + 0x37, 0x42, 0x95, 0x61, 0xdd, 0xef, 0x0a, 0xdb, 0x35, 0x06, 0x18, 0x95, 0x42, 0x1f, 0xcd, 0xf6, + 0xf2, 0xc4, 0x1a, 0xc2, 0x77, 0x19, 0x7a, 0xc6, 0x64, 0x2f, 0x4f, 0xd0, 0x73, 0x13, 0x3a, 0xe8, + 0x29, 0x54, 0xe0, 0x61, 0x0f, 0x6b, 0xe6, 0x75, 0xac, 0x48, 0x58, 0x2e, 0x26, 0x54, 0xc4, 0xff, + 0xd2, 0x92, 0x05, 0x3d, 0x84, 0x3d, 0x0b, 0x9f, 0x98, 0x52, 0xcd, 0x89, 0xa5, 0x50, 0xca, 0x58, + 0xf4, 0xef, 0x38, 0x23, 0x53, 0x1b, 0x2b, 0xf2, 0x23, 0x3c, 0x6e, 0x70, 0x30, 0xf6, 0xc0, 0x1e, + 0x9f, 0x9a, 0x85, 0x41, 0x5e, 0xc2, 0x7a, 0x83, 0x57, 0xb7, 0xf8, 0xd8, 0x6e, 0x6c, 0xcd, 0x6d, + 0xe4, 0x16, 0x85, 0x8e, 0x92, 0x54, 0x06, 0xbe, 0xcd, 0x2d, 0x0a, 0x7d, 0x9c, 0x4a, 0xf2, 0x0b, + 0x78, 0x8a, 0xeb, 0x62, 0x11, 0x69, 0x21, 0xe6, 0x2a, 0x78, 0x32, 0x6c, 0xed, 0x78, 0x7b, 0xdb, + 0x4b, 0xb7, 0xe8, 0x03, 0x97, 0xb3, 0xf7, 0xf9, 0x4c, 0x50, 0x40, 0xc5, 0x95, 0x11, 0x90, 0x03, + 0x70, 0xff, 0x64, 0x3a, 0x8d, 0x64, 0x91, 0xab, 0x80, 0x3c, 0x44, 0xdd, 0x35, 0x7c, 0x5a, 0xe4, + 0x8a, 0xbc, 0x03, 0xb0, 0x4c, 0x14, 0xaf, 0x3f, 0x44, 0xec, 0x22, 0x5a, 0xa9, 0xf3, 0x34, 0xff, + 0xcc, 0xac, 0x7a, 0xe3, 0x41, 0x6a, 0x14, 0xa0, 0xfa, 0x67, 0x58, 0xd5, 0x42, 0xb3, 0x79, 0xf0, + 0x74, 0xe8, 0x7c, 0x5b, 0x68, 0xb9, 0x64, 0x04, 0x3d, 0x4b, 0x88, 0x45, 0x3e, 0x4b, 0xaf, 0x83, + 0x4d, 0xd4, 0x0e, 0x97, 0x6a, 0xf1, 0x1a, 0x8e, 0x90, 0x47, 0xbd, 0xe9, 0xdd, 0x0b, 0xd9, 0x02, + 0x3c, 0xa2, 0x38, 0x4a, 0x02, 0xfc, 0x16, 0xf5, 0x3b, 0xf9, 0x3f, 0xf4, 0xab, 0x05, 0xb2, 0x8c, + 0xe5, 0x49, 0xb0, 0x85, 0x84, 0x5e, 0xa9, 0xc7, 0x5a, 0xf8, 0x1a, 0x7a, 0xf7, 0xee, 0x78, 0x17, + 0xda, 0x93, 0xcb, 0x13, 0xea, 0x3f, 0x22, 0x7d, 0x70, 0xcd, 0xd3, 0xf1, 0xc9, 0xd1, 0xe4, 0xd4, + 0x77, 0x48, 0x07, 0xcc, 0x5c, 0xf0, 0x57, 0xc2, 0x77, 0xd0, 0xc6, 0x53, 0xe0, 0x41, 0x75, 0xaa, + 0xfd, 0x47, 0x06, 0x3d, 0xa4, 0xe7, 0xbe, 0x43, 0x5c, 0x58, 0x3d, 0xa4, 0xe7, 0xfb, 0x6f, 0xfc, + 0x15, 0x53, 0xfb, 0xf4, 0x76, 0xdf, 0x6f, 0x11, 0x80, 0xb5, 0x4f, 0x6f, 0xf7, 0xa3, 0xfd, 0x37, + 0x7e, 0x3b, 0xbc, 0x06, 0xaf, 0xd1, 0x8c, 0x19, 0x9b, 0x85, 0xe2, 0xd1, 0xb5, 0xc8, 0x18, 0x0e, + 0xd7, 0x2e, 0xed, 0x14, 0x8a, 0x9f, 0x8a, 0x8c, 0x99, 0x53, 0x66, 0x20, 0x39, 0xe5, 0x38, 0x50, + 0xbb, 0x74, 0xad, 0x50, 0x9c, 0x4e, 0x39, 0xf9, 0x01, 0x06, 0x33, 0x21, 0x63, 0x1e, 0xd5, 0xca, + 0x16, 0xe2, 0x3d, 0xac, 0x4e, 0xac, 0x3c, 0xfc, 0xdb, 0x81, 0x6e, 0xb5, 0xe5, 0x84, 0x40, 0x3b, + 0xe1, 0x2a, 0xc6, 0x25, 0x5c, 0x8a, 0xcf, 0xa6, 0x86, 0xdb, 0x66, 0xa7, 0x35, 0x3e, 0x93, 0x6d, + 0x00, 0xa5, 0x99, 0xd4, 0x38, 0xf2, 0xd1, 0xb6, 0x4d, 0x5d, 0xac, 0x98, 0x49, 0x4f, 0x9e, 0x83, + 0x2b, 0x39, 0x9b, 0x5b, 0xb4, 0x8d, 0x68, 0xd7, 0x14, 0x10, 0xdc, 0x06, 0xc8, 0x78, 0x26, 0xe4, + 0xad, 0xc9, 0x85, 0x93, 0xb7, 0x4d, 0x5d, 0x5b, 0x99, 0x28, 0x1e, 0xfe, 0xe3, 0xc0, 0xe0, 0x5c, + 0x24, 0xc5, 0x9c, 0x5f, 0xdd, 0x2e, 0x38, 0xa6, 0xfa, 0xa3, 0x3a, 0x01, 0xea, 0x56, 0x69, 0x9e, + 0x61, 0xba, 0xc1, 0xde, 0xab, 0xe5, 0x23, 0xe5, 0x9e, 0xd4, 0x1e, 0x88, 0x4b, 0x94, 0x35, 0x86, + 0xcb, 0xf4, 0xae, 0x4a, 0xfe, 0x07, 0x5e, 0x86, 0x9a, 0x48, 0xdf, 0x2e, 0xaa, 0x2e, 0x21, 0xab, + 0x6d, 0xcc, 0x36, 0xe6, 0x45, 0x16, 0x89, 0x59, 0x64, 0x8b, 0x0a, 0xfb, 0xed, 0xd3, 0x5e, 0x5e, + 0x64, 0xe3, 0x99, 0x5d, 0x4f, 0x85, 0xaf, 0xca, 0xef, 0x55, 0xba, 0xde, 0xfb, 0xe8, 0x2e, 0xac, + 0x5e, 0x8e, 0xc7, 0x17, 0xe6, 0x74, 0x74, 0xa1, 0x7d, 0x7e, 0x78, 0x76, 0xe2, 0xaf, 0x84, 0x73, + 0xd8, 0x1a, 0xc9, 0x54, 0xa7, 0x31, 0x9b, 0x4f, 0x14, 0x97, 0xbf, 0x8a, 0x42, 0xe6, 0xfc, 0xb6, + 0x9c, 0x88, 0xf5, 0xa6, 0x3b, 0x8d, 0x4d, 0x3f, 0x80, 0x4e, 0xd9, 0x25, 0xa6, 0xfc, 0xda, 0x1d, + 0x68, 0x0c, 0x55, 0x5a, 0x09, 0xc2, 0x29, 0x3c, 0x5f, 0xb2, 0x9a, 0xaa, 0x96, 0x1b, 0x41, 0x3b, + 0x2e, 0x3e, 0xab, 0xc0, 0xc1, 0x0b, 0xbd, 0x7c, 0x67, 0xbf, 0x9e, 0x96, 0xa2, 0xf8, 0xe8, 0xe9, + 0xef, 0xe5, 0x3f, 0x43, 0xa9, 0x88, 0xf0, 0x47, 0xe2, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, + 0x52, 0xed, 0xc2, 0x58, 0x08, 0x00, 0x00, } diff --git a/ui/metrics/metrics_proto/metrics.proto b/ui/metrics/metrics_proto/metrics.proto index e96a2e9b2..bbb3021b8 100644 --- a/ui/metrics/metrics_proto/metrics.proto +++ b/ui/metrics/metrics_proto/metrics.proto @@ -97,6 +97,9 @@ message MetricsBase { // The hostname of the machine. optional string hostname = 24; + + // The build command that the user entered to the build system. + optional string build_command = 26; } message BuildConfig { @@ -153,4 +156,4 @@ message CriticalUserJourneyMetrics { message CriticalUserJourneysMetrics { // A set of metrics from a run of the critical user journey tests. repeated CriticalUserJourneyMetrics cujs = 1; -} \ No newline at end of file +} From e21fd34bf26dc351a2660d45b5caf0fbedec4eb9 Mon Sep 17 00:00:00 2001 From: Saeid Farivar Asanjan Date: Wed, 9 Sep 2020 04:18:55 +0000 Subject: [PATCH 11/15] Add car-ui-lib-overlayable to apex allowed_deps Bug: 168062639 Test: manual Change-Id: If31714ad0ab00af65e6f880fb8f7224e2c46d0a3 Merged-In: If31714ad0ab00af65e6f880fb8f7224e2c46d0a3 (cherry picked from commit 0b94aab5ef726b083777d1f196361d5878dad7c1) --- apex/allowed_deps.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt index e5b91e5d9..a311094e1 100644 --- a/apex/allowed_deps.txt +++ b/apex/allowed_deps.txt @@ -132,6 +132,7 @@ bouncycastle_ike_digests(minSdkVersion:current) brotli-java(minSdkVersion:current) captiveportal-lib(minSdkVersion:29) car-ui-lib(minSdkVersion:28) +car-ui-lib-overlayable(minSdkVersion:28) CellBroadcastApp(minSdkVersion:29) CellBroadcastServiceModule(minSdkVersion:29) codecs_g711dec(minSdkVersion:29) From ae29cb45f2337d09fd86563ffa9650fdaff064bc Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Thu, 5 Nov 2020 15:56:56 +0000 Subject: [PATCH 12/15] Update apex/allowed_deps.txt Test: build/soong/scripts/update-apex-allowed-deps.sh Bug: 172564863 Merged-In: I5faa49deae62b1a612f88938555f55a586b8175f Change-Id: I73b5510254dee638955609695a96d465267507f2 --- apex/allowed_deps.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt index 8187c71d5..e2d614339 100644 --- a/apex/allowed_deps.txt +++ b/apex/allowed_deps.txt @@ -324,6 +324,7 @@ libmedia_datasource_headers(minSdkVersion:29) libmedia_headers(minSdkVersion:29) libmedia_helper_headers(minSdkVersion:29) libmedia_midiiowrapper(minSdkVersion:29) +libmediaparser-jni(minSdkVersion:29) libmidiextractor(minSdkVersion:29) libminijail(minSdkVersion:29) libminijail_gen_constants(minSdkVersion:(no version)) From aed3c6b7b7507891e49ab9c70aa7802d3a7c264d Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Mon, 9 Nov 2020 12:26:10 +0000 Subject: [PATCH 13/15] Update apex/allowed_deps.txt Test: presubmit Bug: 172791253 Merged-In: I5f3d834687121ba967d1e3aeb301c87679b2078d Change-Id: I46549088749604c42390bb27e59f61edd25149d6 --- apex/allowed_deps.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt index 5b8563dc2..b350bd0ba 100644 --- a/apex/allowed_deps.txt +++ b/apex/allowed_deps.txt @@ -547,6 +547,7 @@ Tethering(minSdkVersion:30) Tethering(minSdkVersion:current) TetheringApiCurrentLib(minSdkVersion:30) TetheringApiCurrentLib(minSdkVersion:current) +TetheringGoogle(minSdkVersion:30) TetheringGoogle(minSdkVersion:current) textclassifier-statsd(minSdkVersion:current) TextClassifierNotificationLibNoManifest(minSdkVersion:29) From ed2d774c41668a15794f7968058eca70bc57ba42 Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Mon, 9 Nov 2020 19:21:48 +0000 Subject: [PATCH 14/15] DO NOT MERGE: update apex/allowed_deps.txt Test: presubmit Bug: 172824175 Change-Id: Iff22f74889c88b73a913425445e3b3e827a20377 --- apex/allowed_deps.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apex/allowed_deps.txt b/apex/allowed_deps.txt index 3f9c1cb20..a88b6b52f 100644 --- a/apex/allowed_deps.txt +++ b/apex/allowed_deps.txt @@ -549,6 +549,7 @@ Tethering(minSdkVersion:30) Tethering(minSdkVersion:current) TetheringApiCurrentLib(minSdkVersion:30) TetheringApiCurrentLib(minSdkVersion:current) +TetheringGoogle(minSdkVersion:30) TetheringGoogle(minSdkVersion:current) textclassifier-statsd(minSdkVersion:current) TextClassifierNotificationLibNoManifest(minSdkVersion:29) From 88a5af154136156bada307061dbac1a257b77c9f Mon Sep 17 00:00:00 2001 From: Benjamin Schwartz Date: Tue, 9 Feb 2021 18:46:46 -0800 Subject: [PATCH 15/15] Fix broken build Bug: 179840198 Test: Build Change-Id: I70659d5bafd50d2b9b74277243c40f2348f92ff5 Merged-In: Ib909e678072ac5f2baefc7e273e89ef77b3b31ad --- cc/config/vndk.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cc/config/vndk.go b/cc/config/vndk.go index 2eb1e7590..425e3499d 100644 --- a/cc/config/vndk.go +++ b/cc/config/vndk.go @@ -41,6 +41,7 @@ var VndkMustUseVendorVariantList = []string{ "android.hardware.power-V1-ndk_platform", "android.hardware.power-ndk_platform", "android.hardware.rebootescrow-V1-ndk_platform", + "android.hardware.power.stats-V1-ndk_platform", "android.hardware.power.stats-ndk_platform", "android.hardware.power.stats-unstable-ndk_platform", "android.hardware.rebootescrow-ndk_platform",