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

Commit e908fea7 authored by Lukács T. Berki's avatar Lukács T. Berki Committed by Automerger Merge Worker
Browse files

Merge "Make OutDir() and SoongOutDir() be consistent." am: 5eeb6fc3

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

Change-Id: Ib28188151307381391cce50c6ee2ae998bf0c9be
parents b8e95806 5eeb6fc3
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ func (c Config) SoongOutDir() string {
}

func (c Config) OutDir() string {
	return c.soongOutDir
	return c.outDir
}

func (c Config) RunGoTests() bool {
@@ -138,7 +138,8 @@ type config struct {

	deviceConfig *deviceConfig

	soongOutDir    string // the path of the build output directory
	outDir         string // The output directory (usually out/)
	soongOutDir    string
	moduleListFile string // the path to the file which lists blueprint files to parse.

	runGoTests               bool
@@ -302,9 +303,10 @@ func saveToBazelConfigFile(config *productVariables, outDir string) error {

// NullConfig returns a mostly empty Config for use by standalone tools like dexpreopt_gen that
// use the android package.
func NullConfig(soongOutDir string) Config {
func NullConfig(outDir, soongOutDir string) Config {
	return Config{
		config: &config{
			outDir:      outDir,
			soongOutDir: soongOutDir,
			fs:          pathtools.OsFs,
		},
@@ -338,6 +340,9 @@ func TestConfig(buildDir string, env map[string]string, bp string, fs map[string
			ShippingApiLevel:                  stringPtr("30"),
		},

		outDir: buildDir,
		// soongOutDir is inconsistent with production (it should be buildDir + "/soong")
		// but a lot of tests assume this :(
		soongOutDir:  buildDir,
		captureBuild: true,
		env:          envCopy,
@@ -434,6 +439,7 @@ func NewConfig(cmdlineArgs bootstrap.Args, soongOutDir string, availableEnv map[

		env: availableEnv,

		outDir:                   cmdlineArgs.OutDir,
		soongOutDir:              soongOutDir,
		runGoTests:               cmdlineArgs.RunGoTests,
		useValidationsForGoTests: cmdlineArgs.UseValidations,
+4 −5
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ import (

var (
	topDir           string
	outDir           string
	soongOutDir      string
	availableEnvFile string
	usedEnvFile      string

@@ -55,13 +55,12 @@ var (
func init() {
	// Flags that make sense in every mode
	flag.StringVar(&topDir, "top", "", "Top directory of the Android source tree")
	flag.StringVar(&outDir, "out", "", "Soong output directory (usually $TOP/out/soong)")
	flag.StringVar(&soongOutDir, "soong_out", "", "Soong output directory (usually $TOP/out/soong)")
	flag.StringVar(&availableEnvFile, "available_env", "", "File containing available environment variables")
	flag.StringVar(&usedEnvFile, "used_env", "", "File containing used environment variables")
	flag.StringVar(&globFile, "globFile", "build-globs.ninja", "the Ninja file of globs to output")
	flag.StringVar(&globListDir, "globListDir", "", "the directory containing the glob list files")
	flag.StringVar(&cmdlineArgs.SoongOutDir, "b", ".", "the build output directory")
	flag.StringVar(&cmdlineArgs.OutDir, "n", "", "the ninja builddir directory")
	flag.StringVar(&cmdlineArgs.OutDir, "out", "", "the ninja builddir directory")
	flag.StringVar(&cmdlineArgs.ModuleListFile, "l", "", "file that lists filepaths to parse")

	// Debug flags
@@ -298,7 +297,7 @@ func main() {

	availableEnv := parseAvailableEnv()

	configuration := newConfig(cmdlineArgs, outDir, availableEnv)
	configuration := newConfig(cmdlineArgs, soongOutDir, availableEnv)
	extraNinjaDeps := []string{
		configuration.ProductVariablesFileName,
		usedEnvFile,
+3 −1
Original line number Diff line number Diff line
@@ -87,7 +87,9 @@ func main() {
		usage("--module configuration file is required")
	}

	ctx := &builderContext{android.NullConfig(*outDir)}
	// NOTE: duplicating --out_dir here is incorrect (one should be the another
	// plus "/soong" but doing so apparently breaks dexpreopt
	ctx := &builderContext{android.NullConfig(*outDir, *outDir)}

	globalSoongConfigData, err := ioutil.ReadFile(*globalSoongConfigPath)
	if err != nil {