Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216ed6c9 authored by Colin Cross's avatar Colin Cross Committed by Gerrit Code Review
Browse files

Merge "Revert "Add support for PRODUCT_RELEASE_CONFIG_MAPS"" into main

parents 4c01bb49 6a4fe68c
Loading
Loading
Loading
Loading
+5 −22
Original line number Diff line number Diff line
@@ -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()
	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
+0 −37
Original line number Diff line number Diff line
@@ -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) {
+0 −3
Original line number Diff line number Diff line
@@ -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",