Merge "Avoid writing soong_build_metrics.pb multiple times"

This commit is contained in:
Paul Duffin
2022-11-14 22:30:41 +00:00
committed by Gerrit Code Review

View File

@@ -346,18 +346,29 @@ func doChosenActivity(ctx *android.Context, configuration android.Config, extraN
runBp2Build(configuration, extraNinjaDeps, metricsDir) runBp2Build(configuration, extraNinjaDeps, metricsDir)
return bp2buildMarker return bp2buildMarker
} else if configuration.BuildMode == android.ApiBp2build { } else if configuration.BuildMode == android.ApiBp2build {
return runApiBp2build(configuration, extraNinjaDeps) outputFile := runApiBp2build(configuration, extraNinjaDeps)
writeMetrics(configuration, ctx.EventHandler, metricsDir)
return outputFile
} else { } else {
var outputFile string
if configuration.IsMixedBuildsEnabled() { if configuration.IsMixedBuildsEnabled() {
return runMixedModeBuild(configuration, ctx, extraNinjaDeps) outputFile = runMixedModeBuild(configuration, ctx, extraNinjaDeps)
} else { } else {
return runSoongOnlyBuild(configuration, ctx, extraNinjaDeps) outputFile = runSoongOnlyBuild(configuration, ctx, extraNinjaDeps)
} }
writeMetrics(configuration, ctx.EventHandler, metricsDir)
return outputFile
} }
} }
// runSoongOnlyBuild runs the standard Soong build in a number of different modes. // runSoongOnlyBuild runs the standard Soong build in a number of different modes.
func runSoongOnlyBuild(configuration android.Config, ctx *android.Context, extraNinjaDeps []string) string { func runSoongOnlyBuild(configuration android.Config, ctx *android.Context, extraNinjaDeps []string) string {
ctx.EventHandler.Begin("soong_build")
defer ctx.EventHandler.End("soong_build")
var stopBefore bootstrap.StopBefore var stopBefore bootstrap.StopBefore
if configuration.BuildMode == android.GenerateModuleGraph { if configuration.BuildMode == android.GenerateModuleGraph {
stopBefore = bootstrap.StopBeforeWriteNinja stopBefore = bootstrap.StopBeforeWriteNinja
@@ -458,13 +469,9 @@ func main() {
logDir := availableEnv["LOG_DIR"] logDir := availableEnv["LOG_DIR"]
ctx := newContext(configuration) ctx := newContext(configuration)
ctx.EventHandler.Begin("soong_build")
finalOutputFile := doChosenActivity(ctx, configuration, extraNinjaDeps, logDir) finalOutputFile := doChosenActivity(ctx, configuration, extraNinjaDeps, logDir)
ctx.EventHandler.End("soong_build")
writeMetrics(configuration, ctx.EventHandler, logDir)
writeUsedEnvironmentFile(configuration, finalOutputFile) writeUsedEnvironmentFile(configuration, finalOutputFile)
} }