aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKousik Kumar <kousikk@google.com>2022-06-20 22:50:52 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-20 22:50:52 +0000
commitd43d94c657aebe33d6f67d6f5f19708ed431b54d (patch)
treed0af880027afde6cb51ed41c4d953920305be7ff
parentdcd0f3ee8a89d62663c308e234e8c3d821c378fc (diff)
parentfbd40f18a9699ee01f57c285c4a024a4363dcd4a (diff)
downloadsoong-d43d94c657aebe33d6f67d6f5f19708ed431b54d.tar.gz
[conflict] Add additional directories from which env config can be loaded am: ef073be177 am: cc5020c964 am: 8f012ef4bf am: 749dacacda am: 3b9f9fe1eb am: fbd40f18a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/18915321 Change-Id: I94840b6aa5e1542227c509f8787d354f6b0a6dae Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--cmd/soong_ui/main.go25
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() {