diff options
author | Kousik Kumar <kousikk@google.com> | 2022-06-16 22:26:57 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-16 22:26:57 +0000 |
commit | 11529f7e5b240aa0215f2a5d9a866b1e4fff7c5c (patch) | |
tree | 422f07244e9ec0f4f827736008914c747cbdccb8 | |
parent | e89f3e22e5f7bdd5eeea7fcfbcfbda4dc061817f (diff) | |
parent | 3b9f9fe1eb3a1248966e695e08246b400571f76a (diff) | |
download | soong-11529f7e5b240aa0215f2a5d9a866b1e4fff7c5c.tar.gz |
[conflict] Add additional directories from which env config can be loaded am: ef073be177 am: cc5020c964 am: 8f012ef4bf am: 749dacacda am: 3b9f9fe1eb
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/18915321
Change-Id: Ie2ea236cc8e49669745a46770f1f885f3ccb3dff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | cmd/soong_ui/main.go | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index 02c522977..d47b14c05 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -116,12 +116,23 @@ func inList(s string, list []string) bool { return indexList(s, list) != -1 } -func loadEnvConfig() error { +func loadEnvConfig(config build.Config) error { bc := os.Getenv("ANDROID_BUILD_ENVIRONMENT_CONFIG") if bc == "" { return nil } - cfgFile := filepath.Join(os.Getenv("TOP"), configDir, fmt.Sprintf("%s.%s", bc, jsonSuffix)) + configDirs := []string{ + os.Getenv("ANDROID_BUILD_ENVIRONMENT_CONFIG_DIR"), + config.OutDir(), + configDir, + } + var cfgFile string + for _, dir := range configDirs { + cfgFile = filepath.Join(os.Getenv("TOP"), dir, fmt.Sprintf("%s.%s", bc, jsonSuffix)) + if _, err := os.Stat(cfgFile); err == nil { + break + } + } envVarsJSON, err := ioutil.ReadFile(cfgFile) if err != nil { @@ -137,9 +148,7 @@ func loadEnvConfig() error { if os.Getenv(k) != "" { continue } - if err := os.Setenv(k, v); err != nil { - return err - } + config.Environment().Set(k, v) } return nil } @@ -205,13 +214,13 @@ func main() { Status: stat, }} - if err := loadEnvConfig(); err != nil { + config := c.config(buildCtx, args...) + + if err := loadEnvConfig(config); err != nil { fmt.Fprintf(os.Stderr, "failed to parse env config files: %v", err) os.Exit(1) } - config := c.config(buildCtx, args...) - build.SetupOutDir(buildCtx, config) if config.UseBazel() && config.Dist() { |