Merge "Revert "Add support for PRODUCT_RELEASE_CONFIG_MAPS"" into main am: 216ed6c918

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

Change-Id: I40b4d1e733d97bf9ccac780572d975d322d3afe5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Colin Cross 2023-11-06 22:47:37 +00:00 committed by Automerger Merge Worker
commit e3bf3e8292
3 changed files with 5 additions and 62 deletions

View file

@ -59,9 +59,6 @@ type command struct {
// run the command
run func(ctx build.Context, config build.Config, args []string)
// whether to do common setup before calling run.
doSetup bool
}
// list of supported commands (flags) supported by soong ui
@ -72,7 +69,6 @@ var commands = []command{
config: build.NewConfig,
stdio: stdio,
run: runMake,
doSetup: true,
}, {
flag: "--dumpvar-mode",
description: "print the value of the legacy make variable VAR to stdout",
@ -81,7 +77,6 @@ var commands = []command{
config: dumpVarConfig,
stdio: customStdio,
run: dumpVar,
doSetup: true,
}, {
flag: "--dumpvars-mode",
description: "dump the values of one or more legacy make variables, in shell syntax",
@ -90,7 +85,6 @@ var commands = []command{
config: dumpVarConfig,
stdio: customStdio,
run: dumpVars,
doSetup: true,
}, {
flag: "--build-mode",
description: "build modules based on the specified build action",
@ -188,12 +182,8 @@ func main() {
CriticalPath: criticalPath,
}}
freshConfig := func() build.Config {
config := c.config(buildCtx, args...)
config.SetLogsPrefix(c.logsPrefix)
return config
}
config := freshConfig()
config := c.config(buildCtx, args...)
config.SetLogsPrefix(c.logsPrefix)
logsDir := config.LogsDir()
buildStarted = config.BuildStartedTimeOrDefault(buildStarted)
@ -223,16 +213,6 @@ func main() {
log.Verbosef(" [%d] %s", i, arg)
}
if c.doSetup {
// We need to call logAndSymlinkSetup before we can do product
// config, which is how we get PRODUCT_CONFIG_RELEASE_MAPS set
// for the final product config for the build.
logAndSymlinkSetup(buildCtx, config)
if build.SetProductReleaseConfigMaps(buildCtx, config) {
config = freshConfig()
}
}
defer func() {
stat.Finish()
criticalPath.WriteToMetrics(met)
@ -331,6 +311,7 @@ func removeBadTargetRename(ctx build.Context, config build.Config) {
}
func dumpVar(ctx build.Context, config build.Config, args []string) {
logAndSymlinkSetup(ctx, config)
flags := flag.NewFlagSet("dumpvar", flag.ExitOnError)
flags.SetOutput(ctx.Writer)
@ -383,6 +364,7 @@ func dumpVar(ctx build.Context, config build.Config, args []string) {
}
func dumpVars(ctx build.Context, config build.Config, args []string) {
logAndSymlinkSetup(ctx, config)
flags := flag.NewFlagSet("dumpvars", flag.ExitOnError)
flags.SetOutput(ctx.Writer)
@ -562,6 +544,7 @@ func buildActionConfig(ctx build.Context, args ...string) build.Config {
}
func runMake(ctx build.Context, config build.Config, _ []string) {
logAndSymlinkSetup(ctx, config)
logsDir := config.LogsDir()
if config.IsVerbose() {
writer := ctx.Writer

View file

@ -31,7 +31,6 @@ import (
"time"
"android/soong/shared"
"android/soong/ui/metrics"
"google.golang.org/protobuf/proto"
@ -462,42 +461,6 @@ func NewBuildActionConfig(action BuildAction, dir string, ctx Context, args ...s
return NewConfig(ctx, getConfigArgs(action, dir, ctx, args)...)
}
// Prepare for getting make variables. For them to be accurate, we need to have
// obtained PRODUCT_RELEASE_CONFIG_MAPS.
//
// Returns:
//
// Whether config should be called again.
//
// TODO: when converting product config to a declarative language, make sure
// that PRODUCT_RELEASE_CONFIG_MAPS is properly handled as a separate step in
// that process.
func SetProductReleaseConfigMaps(ctx Context, config Config) bool {
ctx.BeginTrace(metrics.RunKati, "SetProductReleaseConfigMaps")
defer ctx.EndTrace()
if config.SkipConfig() {
// This duplicates the logic from Build to skip product config
// if the user has explicitly said to.
return false
}
releaseConfigVars := []string{
"PRODUCT_RELEASE_CONFIG_MAPS",
}
origValue, _ := config.environ.Get("PRODUCT_RELEASE_CONFIG_MAPS")
// 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.
releaseMapVars, err := dumpMakeVars(ctx, config, nil, releaseConfigVars, false, "")
if err != nil {
ctx.Fatalln("Error getting PRODUCT_RELEASE_CONFIG_MAPS:", err)
}
productReleaseConfigMaps := releaseMapVars["PRODUCT_RELEASE_CONFIG_MAPS"]
os.Setenv("PRODUCT_RELEASE_CONFIG_MAPS", productReleaseConfigMaps)
return origValue != productReleaseConfigMaps
}
// storeConfigMetrics selects a set of configuration information and store in
// the metrics system for further analysis.
func storeConfigMetrics(ctx Context, config Config) {

View file

@ -191,9 +191,6 @@ func runMakeProductConfig(ctx Context, config Config) {
"TARGET_BUILD_APPS",
"TARGET_BUILD_UNBUNDLED",
// Additional release config maps
"PRODUCT_RELEASE_CONFIG_MAPS",
// compiler wrappers set up by make
"CC_WRAPPER",
"CXX_WRAPPER",