From 8f8f1bd9c931d57cbdbeb2861fce88ef6c202fdb Mon Sep 17 00:00:00 2001 From: satayev Date: Mon, 15 Nov 2021 21:15:41 +0000 Subject: [PATCH] Allow passing python script as a parameter. This simplifies the setup for internal mainline_modules_sdks.sh and removes duplication in logic. Bug: 205100626 Test: TARGET_BUILD_APPS=com.android.wifi packages/modules/common/build/mainline_modules_sdks.sh && ls out/dist/mainline-sdks/current/com.android.wifi/sdk/wifi-module-sdk-current.zip Change-Id: Icb079d7630fa77c250e9b2194cc30038b6d046ec --- build/mainline_modules_sdks.sh | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/build/mainline_modules_sdks.sh b/build/mainline_modules_sdks.sh index 2cf17f3..4e25161 100755 --- a/build/mainline_modules_sdks.sh +++ b/build/mainline_modules_sdks.sh @@ -15,6 +15,27 @@ # limitations under the License. # +function init() { + declare -ga ARGV + while (($# > 0)); do + case $1 in + --py3script) + declare -gr py3script="$2" + shift 2 + ;; + *) + ARGV+=("$1") + shift 1 + ;; + esac + done + readonly ARGV + + if [ -z "${py3script}" ]; then + declare -gr py3script="packages/modules/common/build/mainline_modules_sdks.py" + fi +} + function main() { if [ ! -e "build/make/core/Makefile" ]; then echo "$0 must be run from the top of the tree" @@ -34,7 +55,11 @@ function main() { # Delegate the SDK generation to the python script. Use the python version # provided by the build to ensure consistency across build environments. export DIST_DIR OUT_DIR - prebuilts/build-tools/linux-x86/bin/py3-cmd packages/modules/common/build/mainline_modules_sdks.py "$@" + + prebuilts/build-tools/linux-x86/bin/py3-cmd "${py3script}" } -main "${@}" +init "$@" +# The wacky ${foo[@]+"${foo[@]}"}, makes bash correctly pass nothing when an +# array is empty (necessary prior to bash 4.4). +main ${ARGV[@]+"${ARGV[@]}"}