Direct Bazel builds from m.
This CL extends the `m` function to short circuit to Bazel iff: 1) USE_BAZEL_ANALYSIS is set to 1 or true 2) There is only 1 Soong module requested to be built 3) The Soong module has a corresponding Bazel alias target in @soong_injection//targets/BUILD to the real target in out/soong/workspace. Test: TH Change-Id: I976ffa53106c0b52c75b71f1e0e1e8b3ef5cb3d1
This commit is contained in:
parent
bb53fe394b
commit
bfa114d05b
1 changed files with 11 additions and 3 deletions
14
envsetup.sh
14
envsetup.sh
|
@ -1700,19 +1700,27 @@ function _trigger_build()
|
|||
function b()
|
||||
(
|
||||
# Generate BUILD, bzl files into the synthetic Bazel workspace (out/soong/workspace).
|
||||
m nothing GENERATE_BAZEL_FILES=true || return 1
|
||||
_trigger_build "all-modules" nothing GENERATE_BAZEL_FILES=true USE_BAZEL_ANALYSIS= || return 1
|
||||
# Then, run Bazel using the synthetic workspace as the --package_path.
|
||||
if [[ -z "$@" ]]; then
|
||||
# If there are no args, show help.
|
||||
"$(gettop)/tools/bazel" help
|
||||
bazel help
|
||||
else
|
||||
# Else, always run with the bp2build configuration, which sets Bazel's package path to the synthetic workspace.
|
||||
"$(gettop)/tools/bazel" "$@" --config=bp2build
|
||||
bazel "$@" --config=bp2build
|
||||
fi
|
||||
)
|
||||
|
||||
function m()
|
||||
(
|
||||
if [[ "${USE_BAZEL_ANALYSIS}" =~ ^(true|1)$ ]]; then
|
||||
# This only short-circuits to Bazel for a single module target now.
|
||||
b cquery "@soong_injection//module_name_to_label:$@" 2>/dev/null
|
||||
if [[ $? == 0 ]]; then
|
||||
bazel build "@soong_injection//module_name_to_label:$@" --config=bp2build
|
||||
return $?
|
||||
fi
|
||||
fi
|
||||
_trigger_build "all-modules" "$@"
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue