Merge "Avoid writing soong_build_metrics.pb multiple times"
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user