Skip to content
This repository has been archived by the owner on Nov 17, 2024. It is now read-only.

Commit

Permalink
Allow selecting a different product in banchan.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
marstj committed Apr 19, 2021
1 parent 2c80511 commit 2b8d923
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
7 changes: 6 additions & 1 deletion banchanHelp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SCRIPT_DIR="${PWD}"
cd ../..
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.
Like "tapas", "banchan" does not request the building of images for a device but
Expand All @@ -19,6 +19,11 @@ for building APEX modules rather than apps (APKs).
The module names should match apex{} modules in Android.bp files, typically
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
build system and can be found by running `m help`'

Expand Down
14 changes: 8 additions & 6 deletions envsetup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -799,17 +799,19 @@ function tapas()
function banchan()
{
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 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
$(gettop)/build/make/banchanHelp.sh
return
fi

if [ $(echo $arch | wc -w) -gt 1 ]; then
echo "banchan: Error: Multiple build archs supplied: $arch"
if [ -z "$product" ]; then
product=arm
elif [ $(echo $product | wc -w) -gt 1 ]; then
echo "banchan: Error: Multiple build archs or products supplied: $products"
return
fi
if [ $(echo $variant | wc -w) -gt 1 ]; then
Expand All @@ -821,8 +823,8 @@ function banchan()
return
fi

local product=module_arm
case $arch in
case $product in
arm) product=module_arm;;
x86) product=module_x86;;
arm64) product=module_arm64;;
x86_64) product=module_x86_64;;
Expand Down

0 comments on commit 2b8d923

Please sign in to comment.