Set PATH and --action_env=PATH for the Bazel build in soong_ui.

Ensures that Bazel and Ninja are using the same binaries from PATH, such
as `sort` from the linked bug.

Test: USE_BAZEL=1 m
Test: rm out/soong/apex/depsinfo/new-allowed-deps.txt && USE_BAZEL=1 m
Bug: 161074854
Fixes: 161074854
Change-Id: Icc3e717e6d3cfcecfe90f0fb3a94a86485a11918
This commit is contained in:
Jingwen Chen 2020-11-16 04:19:35 -05:00
parent 1d26d3033a
commit 3a4b58dc5d
1 changed files with 6 additions and 0 deletions

View File

@ -24,6 +24,8 @@ import (
"android/soong/ui/metrics"
)
// Main entry point to construct the Bazel build command line, environment variables
// and post-processing steps (e.g. converge output directories)
func runBazel(ctx Context, config Config) {
ctx.BeginTrace(metrics.RunBazel, "bazel")
defer ctx.EndTrace()
@ -67,6 +69,10 @@ func runBazel(ctx Context, config Config) {
"//:"+config.TargetProduct()+"-"+config.TargetBuildVariant(),
)
if pathEnvValue, ok := config.environ.Get("PATH"); ok {
cmd.Environment.Set("PATH", pathEnvValue)
cmd.Args = append(cmd.Args, "--action_env=PATH="+pathEnvValue)
}
cmd.Environment.Set("DIST_DIR", config.DistDir())
cmd.Environment.Set("SHELL", "/bin/bash")