Fix SOONG_DUMP_JSON_MODULE_GRAPH on a fresh checkout. am: dd9725c177

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1744535

Change-Id: I036b056aa6e97022193732b7f355b09e554160da
This commit is contained in:
Jingwen Chen
2021-06-24 10:04:08 +00:00
committed by Automerger Merge Worker
3 changed files with 13 additions and 2 deletions

View File

@@ -274,6 +274,11 @@ func Build(ctx Context, config Config) {
// Return early, if we're using Soong as solely the generator of BUILD files. // Return early, if we're using Soong as solely the generator of BUILD files.
return return
} }
if config.bazelBuildMode() == generateJsonModuleGraph {
// Return early, if we're using Soong as solely the generator of the JSON module graph
return
}
} }
if what&RunKati != 0 { if what&RunKati != 0 {

View File

@@ -108,6 +108,9 @@ const (
// Only generate build files (in a subdirectory of the out directory) and exit. // Only generate build files (in a subdirectory of the out directory) and exit.
generateBuildFiles generateBuildFiles
// Only generate the Soong json module graph for use with jq, and exit.
generateJsonModuleGraph
// Generate synthetic build files and incorporate these files into a build which // Generate synthetic build files and incorporate these files into a build which
// partially uses Bazel. Build metadata may come from Android.bp or BUILD files. // partially uses Bazel. Build metadata may come from Android.bp or BUILD files.
mixedBuild mixedBuild
@@ -936,6 +939,8 @@ func (c *configImpl) bazelBuildMode() bazelBuildMode {
return mixedBuild return mixedBuild
} else if c.Environment().IsEnvTrue("GENERATE_BAZEL_FILES") { } else if c.Environment().IsEnvTrue("GENERATE_BAZEL_FILES") {
return generateBuildFiles return generateBuildFiles
} else if v, ok := c.Environment().Get("SOONG_DUMP_JSON_MODULE_GRAPH"); ok && v != "" {
return generateJsonModuleGraph
} else { } else {
return noBazel return noBazel
} }

View File

@@ -333,8 +333,9 @@ func runSoong(ctx Context, config Config) {
} }
func shouldCollectBuildSoongMetrics(config Config) bool { func shouldCollectBuildSoongMetrics(config Config) bool {
// Do not collect metrics protobuf if the soong_build binary ran as the bp2build converter. // Do not collect metrics protobuf if the soong_build binary ran as the
return config.bazelBuildMode() != generateBuildFiles // bp2build converter or the JSON graph dump.
return config.bazelBuildMode() != generateBuildFiles && config.bazelBuildMode() != generateJsonModuleGraph
} }
func loadSoongBuildMetrics(ctx Context, config Config) *soong_metrics_proto.SoongBuildMetrics { func loadSoongBuildMetrics(ctx Context, config Config) *soong_metrics_proto.SoongBuildMetrics {