Fix OUT_DIR lookup in mixed builds.
In mixed builds, Bazel operates in <root>/out/soong/workspace, but the real OUT_DIR is just <root>out/, not <root>/out/soong/workspace/out. This CL ensures that the correct OUT_DIR is passed to mixed builds's bazel by making OUT_DIR absolute. Also add STANDALONE_BAZEL to build_test's Bazel smoke test. Test: TH Change-Id: If8b4058d43bf821f5196016f9b0ad38edfe18716
This commit is contained in:
@@ -351,6 +351,9 @@ func (r *builtinBazelRunner) issueBazelCommand(paths *bazelPaths, runName bazel.
|
||||
"HOME="+paths.homeDir,
|
||||
pwdPrefix(),
|
||||
"BUILD_DIR="+absolutePath(paths.buildDir),
|
||||
// Make OUT_DIR absolute here so tools/bazel.sh uses the correct
|
||||
// OUT_DIR at <root>/out, instead of <root>/out/soong/workspace/out.
|
||||
"OUT_DIR="+absolutePath(paths.outDir()),
|
||||
// Disables local host detection of gcc; toolchain information is defined
|
||||
// explicitly in BUILD files.
|
||||
"BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1")
|
||||
@@ -576,6 +579,11 @@ func (p *bazelPaths) syntheticWorkspaceDir() string {
|
||||
return filepath.Join(p.buildDir, "workspace")
|
||||
}
|
||||
|
||||
// Returns the path to the top level out dir ($OUT_DIR).
|
||||
func (p *bazelPaths) outDir() string {
|
||||
return filepath.Dir(p.buildDir)
|
||||
}
|
||||
|
||||
// Issues commands to Bazel to receive results for all cquery requests
|
||||
// queued in the BazelContext.
|
||||
func (context *bazelContext) InvokeBazel() error {
|
||||
|
@@ -54,7 +54,7 @@ df -h
|
||||
|
||||
echo
|
||||
echo "Running Bazel smoke test..."
|
||||
"${TOP}/tools/bazel" --batch --max_idle_secs=1 info
|
||||
STANDALONE_BAZEL=true "${TOP}/tools/bazel" --batch --max_idle_secs=1 info
|
||||
|
||||
echo
|
||||
echo "Running Soong test..."
|
||||
|
@@ -14,7 +14,7 @@ function test_bazel_smoke {
|
||||
setup
|
||||
create_mock_bazel
|
||||
|
||||
run_bazel info
|
||||
STANDALONE_BAZEL=true run_bazel info
|
||||
}
|
||||
|
||||
test_bazel_smoke
|
||||
|
Reference in New Issue
Block a user