diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index f7689b9d4..8adc86f4a 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -215,7 +215,11 @@ func main() { soongMetricsFile, // high level metrics related to this build system. config.BazelMetricsDir(), // directory that contains a set of bazel metrics. } - defer build.UploadMetrics(buildCtx, config, c.simpleOutput, buildStarted, files...) + + if !config.SkipMetricsUpload() { + defer build.UploadMetrics(buildCtx, config, c.simpleOutput, buildStarted, files...) + } + defer met.Dump(soongMetricsFile) defer build.CheckProdCreds(buildCtx, config) } diff --git a/ui/build/config.go b/ui/build/config.go index ef2e87e0d..a6bba159e 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -65,24 +65,25 @@ type configImpl struct { buildDateTime string // From the arguments - parallel int - keepGoing int - verbose bool - checkbuild bool - dist bool - jsonModuleGraph bool - apiBp2build bool // Generate BUILD files for Soong modules that contribute APIs - bp2build bool - queryview bool - reportMkMetrics bool // Collect and report mk2bp migration progress metrics. - soongDocs bool - skipConfig bool - skipKati bool - skipKatiNinja bool - skipSoong bool - skipNinja bool - skipSoongTests bool - searchApiDir bool // Scan the Android.bp files generated in out/api_surfaces + parallel int + keepGoing int + verbose bool + checkbuild bool + dist bool + jsonModuleGraph bool + apiBp2build bool // Generate BUILD files for Soong modules that contribute APIs + bp2build bool + queryview bool + reportMkMetrics bool // Collect and report mk2bp migration progress metrics. + soongDocs bool + skipConfig bool + skipKati bool + skipKatiNinja bool + skipSoong bool + skipNinja bool + skipSoongTests bool + searchApiDir bool // Scan the Android.bp files generated in out/api_surfaces + skipMetricsUpload bool // From the product config katiArgs []string @@ -735,6 +736,8 @@ func (c *configImpl) parseArgs(ctx Context, args []string) { c.skipConfig = true } else if arg == "--skip-soong-tests" { c.skipSoongTests = true + } else if arg == "--skip-metrics-upload" { + c.skipMetricsUpload = true } else if arg == "--mk-metrics" { c.reportMkMetrics = true } else if arg == "--bazel-mode" { @@ -1512,6 +1515,10 @@ func (c *configImpl) BazelModulesForceEnabledByFlag() string { return c.bazelForceEnabledModules } +func (c *configImpl) SkipMetricsUpload() bool { + return c.skipMetricsUpload +} + func GetMetricsUploader(topDir string, env *Environment) string { if p, ok := env.Get("METRICS_UPLOADER"); ok { metricsUploader := filepath.Join(topDir, p)