Allow selecting a different product in banchan.

Necessary since the products used for APEX modules are different in
internal builds.

Test: banchan com.android.art
Test: banchan com.android.art arm
Test: banchan com.android.art art_module_arm
Test: banchan com.android.art module_arm
Test: banchan com.android.art x86_64
Test: banchan com.android.art art_module_x86_64
Bug: 179779520
Change-Id: Ib59a86b70e409537aaad7258465b6874b589b858
This commit is contained in:
Martin Stjernholm 2021-04-16 20:45:03 +01:00
parent 2c80511bd6
commit 2b8d923a09
2 changed files with 14 additions and 7 deletions

View file

@ -6,7 +6,7 @@ SCRIPT_DIR="${PWD}"
cd ../.. cd ../..
TOP="${PWD}" TOP="${PWD}"
message='usage: banchan <module> ... [arm|x86|arm64|x86_64] [eng|userdebug|user] message='usage: banchan <module> ... [<product>|arm|x86|arm64|x86_64] [eng|userdebug|user]
banchan selects individual APEX modules to be built by the Android build system. banchan selects individual APEX modules to be built by the Android build system.
Like "tapas", "banchan" does not request the building of images for a device but Like "tapas", "banchan" does not request the building of images for a device but
@ -19,6 +19,11 @@ for building APEX modules rather than apps (APKs).
The module names should match apex{} modules in Android.bp files, typically The module names should match apex{} modules in Android.bp files, typically
starting with "com.android.". starting with "com.android.".
The product argument should be a product name ending in "_<arch>", where <arch>
is one of arm, x86, arm64, x86_64. It can also be just an arch, in which case
the standard product for building modules with that architecture is used, i.e.
module_<arch>.
The usage of the other arguments matches that of the rest of the platform The usage of the other arguments matches that of the rest of the platform
build system and can be found by running `m help`' build system and can be found by running `m help`'

View file

@ -799,17 +799,19 @@ function tapas()
function banchan() function banchan()
{ {
local showHelp="$(echo $* | xargs -n 1 echo | \grep -E '^(help)$' | xargs)" local showHelp="$(echo $* | xargs -n 1 echo | \grep -E '^(help)$' | xargs)"
local arch="$(echo $* | xargs -n 1 echo | \grep -E '^(arm|x86|arm64|x86_64)$' | xargs)" local product="$(echo $* | xargs -n 1 echo | \grep -E '^(.*_)?(arm|x86|arm64|x86_64)$' | xargs)"
local variant="$(echo $* | xargs -n 1 echo | \grep -E '^(user|userdebug|eng)$' | xargs)" local variant="$(echo $* | xargs -n 1 echo | \grep -E '^(user|userdebug|eng)$' | xargs)"
local apps="$(echo $* | xargs -n 1 echo | \grep -E -v '^(user|userdebug|eng|arm|x86|arm64|x86_64)$' | xargs)" local apps="$(echo $* | xargs -n 1 echo | \grep -E -v '^(user|userdebug|eng|(.*_)?(arm|x86|arm64|x86_64))$' | xargs)"
if [ "$showHelp" != "" ]; then if [ "$showHelp" != "" ]; then
$(gettop)/build/make/banchanHelp.sh $(gettop)/build/make/banchanHelp.sh
return return
fi fi
if [ $(echo $arch | wc -w) -gt 1 ]; then if [ -z "$product" ]; then
echo "banchan: Error: Multiple build archs supplied: $arch" product=arm
elif [ $(echo $product | wc -w) -gt 1 ]; then
echo "banchan: Error: Multiple build archs or products supplied: $products"
return return
fi fi
if [ $(echo $variant | wc -w) -gt 1 ]; then if [ $(echo $variant | wc -w) -gt 1 ]; then
@ -821,8 +823,8 @@ function banchan()
return return
fi fi
local product=module_arm case $product in
case $arch in arm) product=module_arm;;
x86) product=module_x86;; x86) product=module_x86;;
arm64) product=module_arm64;; arm64) product=module_arm64;;
x86_64) product=module_x86_64;; x86_64) product=module_x86_64;;