aboutsummaryrefslogtreecommitdiffstats
path: root/env
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2019-12-12 10:23:57 -0800
committerColin Cross <ccross@android.com>2020-01-09 14:19:46 -0800
commit05c25ccb4adb5329add700b533416c226cdbfa96 (patch)
tree79912c740318a967a9091285a5be7aece8fdcf6c /env
parent62c085d7fefd0297d06c417992d48bc68da42645 (diff)
downloadbuild_soong-05c25ccb4adb5329add700b533416c226cdbfa96.tar.gz
build_soong-05c25ccb4adb5329add700b533416c226cdbfa96.tar.bz2
build_soong-05c25ccb4adb5329add700b533416c226cdbfa96.zip
Sandbox soong_build by changing to root directory
Store the current working directory and then change to the root directory so that all file accesses must go through helpers in the android package that properly track dependencies. Fixes: 146437378 Test: m checkbuild Change-Id: I12a0f907753fefd1997ab8b4ea2ac331234093cf
Diffstat (limited to 'env')
-rw-r--r--env/env.go11
1 files changed, 3 insertions, 8 deletions
diff --git a/env/env.go b/env/env.go
index bf58a991..a98e1f6a 100644
--- a/env/env.go
+++ b/env/env.go
@@ -27,7 +27,7 @@ import (
type envFileEntry struct{ Key, Value string }
type envFileData []envFileEntry
-func WriteEnvFile(filename string, envDeps map[string]string) error {
+func EnvFileContents(envDeps map[string]string) ([]byte, error) {
contents := make(envFileData, 0, len(envDeps))
for key, value := range envDeps {
contents = append(contents, envFileEntry{key, value})
@@ -37,17 +37,12 @@ func WriteEnvFile(filename string, envDeps map[string]string) error {
data, err := json.MarshalIndent(contents, "", " ")
if err != nil {
- return err
+ return nil, err
}
data = append(data, '\n')
- err = ioutil.WriteFile(filename, data, 0664)
- if err != nil {
- return err
- }
-
- return nil
+ return data, nil
}
func StaleEnvFile(filename string) (bool, error) {