Loading ui/build/config.go +12 −3 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ type configImpl struct { brokenDupRules bool brokenUsesNetwork bool brokenNinjaEnvVars []string brokenMissingOutputs bool pathReplaced bool Loading Loading @@ -1608,6 +1609,14 @@ func (c *configImpl) BuildBrokenNinjaUsesEnvVars() []string { return c.brokenNinjaEnvVars } func (c *configImpl) SetBuildBrokenMissingOutputs(val bool) { c.brokenMissingOutputs = val } func (c *configImpl) BuildBrokenMissingOutputs() bool { return c.brokenMissingOutputs } func (c *configImpl) SetTargetDeviceDir(dir string) { c.targetDeviceDir = dir } Loading ui/build/dumpvars.go +6 −0 Original line number Diff line number Diff line Loading @@ -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", Loading Loading @@ -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") } ui/build/ninja.go +8 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,14 @@ func runNinjaForBuild(ctx Context, config Config) { "-w", "dupbuild=err", "-w", "missingdepfile=err") if !config.BuildBrokenMissingOutputs() { // Missing outputs will be treated as errors. // BUILD_BROKEN_MISSING_OUTPUTS can be used to bypass this check. args = append(args, "-w", "missingoutfile=err", ) } cmd := Command(ctx, config, "ninja", executable, args...) // Set up the nsjail sandbox Ninja runs in. Loading Loading
ui/build/config.go +12 −3 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ type configImpl struct { brokenDupRules bool brokenUsesNetwork bool brokenNinjaEnvVars []string brokenMissingOutputs bool pathReplaced bool Loading Loading @@ -1608,6 +1609,14 @@ func (c *configImpl) BuildBrokenNinjaUsesEnvVars() []string { return c.brokenNinjaEnvVars } func (c *configImpl) SetBuildBrokenMissingOutputs(val bool) { c.brokenMissingOutputs = val } func (c *configImpl) BuildBrokenMissingOutputs() bool { return c.brokenMissingOutputs } func (c *configImpl) SetTargetDeviceDir(dir string) { c.targetDeviceDir = dir } Loading
ui/build/dumpvars.go +6 −0 Original line number Diff line number Diff line Loading @@ -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", Loading Loading @@ -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") }
ui/build/ninja.go +8 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,14 @@ func runNinjaForBuild(ctx Context, config Config) { "-w", "dupbuild=err", "-w", "missingdepfile=err") if !config.BuildBrokenMissingOutputs() { // Missing outputs will be treated as errors. // BUILD_BROKEN_MISSING_OUTPUTS can be used to bypass this check. args = append(args, "-w", "missingoutfile=err", ) } cmd := Command(ctx, config, "ninja", executable, args...) // Set up the nsjail sandbox Ninja runs in. Loading