aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-10-13 07:48:02 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-10-13 07:48:02 +0000
commit117f005c063425406e2d82e2739a09852d0f4ee0 (patch)
tree5883955df265756b1d744e814fe9e9078454a2ee
parent9d00704db70e984061235266fcc73988e99efaa1 (diff)
parentf6c29aa6c96510a7e88642117177aebaf8a31586 (diff)
downloadsoong-android10-mainline-tzdata-release.tar.gz
Change-Id: I5dffe19a3059bdf856af1fe99c9918f859a12224
-rw-r--r--cmd/soong_ui/main.go22
-rw-r--r--ui/build/config.go7
-rw-r--r--ui/build/paths/config.go1
3 files changed, 22 insertions, 8 deletions
diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go
index d416d54a3..a7f92602b 100644
--- a/cmd/soong_ui/main.go
+++ b/cmd/soong_ui/main.go
@@ -53,12 +53,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 {
@@ -74,9 +85,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
}
@@ -148,12 +157,11 @@ func main() {
config = build.NewConfig(buildCtx, os.Args[1:]...)
}
- if err := loadEnvConfig(); err != nil {
+ if err := loadEnvConfig(config); err != nil {
fmt.Fprintf(os.Stderr, "failed to parse env config files: %v", err)
os.Exit(1)
}
-
build.SetupOutDir(buildCtx, config)
logsDir := config.OutDir()
diff --git a/ui/build/config.go b/ui/build/config.go
index 28ce57d04..46a12fd34 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -616,7 +616,12 @@ func (c *configImpl) rbeReproxy() string {
}
func (c *configImpl) rbeAuth() (string, string) {
- credFlags := []string{"use_application_default_credentials", "use_gce_credentials", "credential_file"}
+ credFlags := []string{
+ "use_application_default_credentials",
+ "use_gce_credentials",
+ "credential_file",
+ "use_google_prod_creds",
+ }
for _, cf := range credFlags {
for _, f := range []string{"RBE_" + cf, "FLAG_" + cf} {
if v, ok := c.environ.Get(f); ok {
diff --git a/ui/build/paths/config.go b/ui/build/paths/config.go
index f4bb89fbb..1b6ec4f4d 100644
--- a/ui/build/paths/config.go
+++ b/ui/build/paths/config.go
@@ -102,6 +102,7 @@ var Configuration = map[string]PathConfig{
"rsync": Allowed,
"sed": Allowed,
"sh": Allowed,
+ "stubby": Allowed,
"tar": Allowed,
"timeout": Allowed,
"tr": Allowed,