Merge "Add support for PRODUCT_RELEASE_CONFIG_MAPS" into main

This commit is contained in:
LaMont Jones 2023-11-01 16:01:08 +00:00 committed by Gerrit Code Review
commit c416ddd1cc
2 changed files with 23 additions and 0 deletions

View file

@ -120,6 +120,9 @@ type configImpl struct {
includeTags []string includeTags []string
sourceRootDirs []string sourceRootDirs []string
productReleaseConfigMaps string
productReleaseConfigMapsLoaded bool
// Data source to write ninja weight list // Data source to write ninja weight list
ninjaWeightListSource NinjaWeightListSource ninjaWeightListSource NinjaWeightListSource
} }
@ -925,6 +928,9 @@ func (c *configImpl) configureLocale(ctx Context) {
} }
func (c *configImpl) Environment() *Environment { func (c *configImpl) Environment() *Environment {
if c.productReleaseConfigMapsLoaded {
c.environ.Set("PRODUCT_RELEASE_CONFIG_MAPS", c.productReleaseConfigMaps)
}
return c.environ return c.environ
} }

View file

@ -92,6 +92,20 @@ func dumpMakeVars(ctx Context, config Config, goals, vars []string, write_soong_
} }
defer tool.Finish() defer tool.Finish()
releaseConfigVars := []string{
"PRODUCT_RELEASE_CONFIG_MAPS",
}
if !config.productReleaseConfigMapsLoaded {
// Get the PRODUCT_RELEASE_CONFIG_MAPS for this product, to avoid polluting the environment
// when we run product config to get the rest of the make vars.
config.productReleaseConfigMapsLoaded = true
releaseMapVars, err := dumpMakeVars(ctx, config, goals, releaseConfigVars, false, "")
if err != nil {
ctx.Fatalln("Error getting PRODUCT_RELEASE_CONFIG_MAPS:", err)
}
config.productReleaseConfigMaps = releaseMapVars["PRODUCT_RELEASE_CONFIG_MAPS"]
}
cmd := Command(ctx, config, "dumpvars", cmd := Command(ctx, config, "dumpvars",
config.PrebuiltBuildTool("ckati"), config.PrebuiltBuildTool("ckati"),
"-f", "build/make/core/config.mk", "-f", "build/make/core/config.mk",
@ -191,6 +205,9 @@ func runMakeProductConfig(ctx Context, config Config) {
"TARGET_BUILD_APPS", "TARGET_BUILD_APPS",
"TARGET_BUILD_UNBUNDLED", "TARGET_BUILD_UNBUNDLED",
// Additional release config maps
"PRODUCT_RELEASE_CONFIG_MAPS",
// compiler wrappers set up by make // compiler wrappers set up by make
"CC_WRAPPER", "CC_WRAPPER",
"CXX_WRAPPER", "CXX_WRAPPER",