From 688e5d606be891cba2ccff63513c4b23d4f0a3e1 Mon Sep 17 00:00:00 2001 From: Jingwen Chen Date: Mon, 16 Oct 2023 09:52:27 +0000 Subject: [PATCH] Support multiple module name queries with bmod. Test: bmod libc libm libdl Test: bmod adb framework-minus-apex libdl Change-Id: I156cc31185d3f97d6b5d74c232bd6cd9287cee02 --- envsetup.sh | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/envsetup.sh b/envsetup.sh index 63837ecbe9..9d27c9d178 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -1613,8 +1613,8 @@ function allmod() { # Return the Bazel label of a Soong module if it is converted with bp2build. function bmod() ( - if [ $# -ne 1 ]; then - echo "usage: bmod " >&2 + if [ $# -eq 0 ]; then + echo "usage: bmod ... " >&2 return 1 fi @@ -1631,19 +1631,24 @@ function bmod() return 1 fi - local target_label=$(python3 -c "import json -module = '$1' + modules=() + for m in "$@"; do + modules+=("\"$m\",") + done + local res=$(python3 -c "import json +modules = [${modules[*]}] converted_json='$converted_json' bp2build_converted_map = json.load(open(converted_json)) -if module not in bp2build_converted_map: - exit(1) -print(bp2build_converted_map[module] + ':' + module)") +for module in modules: + if module not in bp2build_converted_map: + print(module + ' is not converted to Bazel.') + else: + print(bp2build_converted_map[module] + ':' + module)") - if [ -z "${target_label}" ]; then - echo "$1 is not converted to Bazel." >&2 - return 1 - else - echo "${target_label}" + echo "${res}" + unconverted_count=$(echo "${res}" | grep -c "not converted to Bazel") + if [[ ${unconverted_count} -ne 0 ]]; then + return 1 fi )