Merge "Add support for PRODUCT_RELEASE_CONFIG_MAPS" into main am: c416ddd1cc am: 1b6f1d27a0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2786983
Change-Id: I56bf1b239e1cb77550b95b579053cc6b04668f67
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/ui/build/config.go b/ui/build/config.go
index 5cf6ea8..4aa3a51 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -120,6 +120,9 @@
includeTags []string
sourceRootDirs []string
+ productReleaseConfigMaps string
+ productReleaseConfigMapsLoaded bool
+
// Data source to write ninja weight list
ninjaWeightListSource NinjaWeightListSource
}
@@ -925,6 +928,9 @@
}
func (c *configImpl) Environment() *Environment {
+ if c.productReleaseConfigMapsLoaded {
+ c.environ.Set("PRODUCT_RELEASE_CONFIG_MAPS", c.productReleaseConfigMaps)
+ }
return c.environ
}
diff --git a/ui/build/dumpvars.go b/ui/build/dumpvars.go
index efe7478..360d0da 100644
--- a/ui/build/dumpvars.go
+++ b/ui/build/dumpvars.go
@@ -92,6 +92,20 @@
}
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",
config.PrebuiltBuildTool("ckati"),
"-f", "build/make/core/config.mk",
@@ -191,6 +205,9 @@
"TARGET_BUILD_APPS",
"TARGET_BUILD_UNBUNDLED",
+ // Additional release config maps
+ "PRODUCT_RELEASE_CONFIG_MAPS",
+
// compiler wrappers set up by make
"CC_WRAPPER",
"CXX_WRAPPER",