Enforce that output files are created in primary ninja execution
Missing output files in ninja execution will be treated as errors. Products can bypass this using the newly introduced BUILD_BROKEN_MISSING_OUTPUTS flag. Test: m nothing # verified missingoutfile appears in out/soong.log Test: checkbuild passes on presubmits Change-Id: I4eebcd08aa57fc6ccf1688c32e0d1fe06d66ab9a
This commit is contained in:
@@ -235,6 +235,11 @@ func runMakeProductConfig(ctx Context, config Config) {
|
||||
"BUILD_BROKEN_SRC_DIR_IS_WRITABLE",
|
||||
"BUILD_BROKEN_SRC_DIR_RW_ALLOWLIST",
|
||||
|
||||
// Whether missing outputs should be treated as warnings
|
||||
// instead of errors.
|
||||
// `true` will relegate missing outputs to warnings.
|
||||
"BUILD_BROKEN_MISSING_OUTPUTS",
|
||||
|
||||
// Not used, but useful to be in the soong.log
|
||||
"TARGET_BUILD_TYPE",
|
||||
"HOST_ARCH",
|
||||
@@ -301,4 +306,5 @@ func runMakeProductConfig(ctx Context, config Config) {
|
||||
config.SetBuildBrokenUsesNetwork(makeVars["BUILD_BROKEN_USES_NETWORK"] == "true")
|
||||
config.SetBuildBrokenNinjaUsesEnvVars(strings.Fields(makeVars["BUILD_BROKEN_NINJA_USES_ENV_VARS"]))
|
||||
config.SetSourceRootDirs(strings.Fields(makeVars["PRODUCT_SOURCE_ROOT_DIRS"]))
|
||||
config.SetBuildBrokenMissingOutputs(makeVars["BUILD_BROKEN_MISSING_OUTPUTS"] == "true")
|
||||
}
|
||||
|
Reference in New Issue
Block a user