Make $PATH available when building soong_build.
This is exclusively used by tests so it's awful, but Darwin builds are
currently broken so let's unbreak them first then start thinking.
Test: "m nothing" on Linux (I don't have access to a mac OS machine)
Change-Id: I1ea9ca71a5aff36a3454282a4c87ad368138baaa
diff --git a/ui/build/soong.go b/ui/build/soong.go
index 37f7b97..5f4a203 100644
--- a/ui/build/soong.go
+++ b/ui/build/soong.go
@@ -171,8 +171,21 @@
"-f", filepath.Join(config.SoongOutDir(), file))
var ninjaEnv Environment
+
+ // This is currently how the command line to invoke soong_build finds the
+ // root of the source tree and the output root
ninjaEnv.Set("TOP", os.Getenv("TOP"))
ninjaEnv.Set("SOONG_OUTDIR", config.SoongOutDir())
+
+ // Needed for NonHermeticHostSystemTool() and that, only in tests. We should
+ // probably find a better way of running tests other than making $PATH
+ // available also to production builds. Note that this is not get same as
+ // os.Getenv("PATH"): config.Environment() contains the $PATH that redirects
+ // every binary through the path interposer.
+ configPath, _ := config.Environment().Get("PATH")
+ ninjaEnv.Set("PATH", configPath)
+
+ // For debugging
if os.Getenv("SOONG_DELVE") != "" {
// SOONG_DELVE is already in cmd.Environment
ninjaEnv.Set("SOONG_DELVE_PATH", shared.ResolveDelveBinary())