Merge "Add additional directories from which env config can be loaded" am: 07d858468e am: 5b34d48a92

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

Change-Id: I36a1dddaa6363c51eaab59e6fe7bf4b153a3ba91
This commit is contained in:
Kousik Kumar
2022-01-17 16:30:40 +00:00
committed by Automerger Merge Worker

View File

@@ -117,12 +117,23 @@ func inList(s string, list []string) bool {
return indexList(s, list) != -1 return indexList(s, list) != -1
} }
func loadEnvConfig() error { func loadEnvConfig(config build.Config) error {
bc := os.Getenv("ANDROID_BUILD_ENVIRONMENT_CONFIG") bc := os.Getenv("ANDROID_BUILD_ENVIRONMENT_CONFIG")
if bc == "" { if bc == "" {
return nil 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) envVarsJSON, err := ioutil.ReadFile(cfgFile)
if err != nil { if err != nil {
@@ -138,9 +149,7 @@ func loadEnvConfig() error {
if os.Getenv(k) != "" { if os.Getenv(k) != "" {
continue continue
} }
if err := os.Setenv(k, v); err != nil { config.Environment().Set(k, v)
return err
}
} }
return nil return nil
} }
@@ -207,13 +216,13 @@ func main() {
Status: stat, 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) fmt.Fprintf(os.Stderr, "failed to parse env config files: %v", err)
os.Exit(1) os.Exit(1)
} }
config := c.config(buildCtx, args...)
build.SetupOutDir(buildCtx, config) build.SetupOutDir(buildCtx, config)
if config.UseBazel() && config.Dist() { if config.UseBazel() && config.Dist() {