From 9fb05d8c9fe17c43cd228114013d706083ac3b6d Mon Sep 17 00:00:00 2001 From: Jeff Gaston Date: Mon, 21 Aug 2017 18:27:00 -0700 Subject: [PATCH] Support 'tapas help' for more-detailed tapas help Bug: 64844028 Test: tapas help Change-Id: I5629ca781e8cacfa6bb09828acf4160bbca3c3a5 --- envsetup.sh | 6 ++++++ tapasHelp.sh | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100755 tapasHelp.sh diff --git a/envsetup.sh b/envsetup.sh index a8bef92161..ec100b160c 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -644,11 +644,17 @@ complete -F _lunch lunch # Run tapas with one or more app names (from LOCAL_PACKAGE_NAME) function tapas() { + local showHelp="$(echo $* | xargs -n 1 echo | \grep -E '^(help)$' | xargs)" local arch="$(echo $* | xargs -n 1 echo | \grep -E '^(arm|x86|mips|armv5|arm64|x86_64|mips64)$' | xargs)" local variant="$(echo $* | xargs -n 1 echo | \grep -E '^(user|userdebug|eng)$' | xargs)" local density="$(echo $* | xargs -n 1 echo | \grep -E '^(ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|alldpi)$' | xargs)" local apps="$(echo $* | xargs -n 1 echo | \grep -E -v '^(user|userdebug|eng|arm|x86|mips|armv5|arm64|x86_64|mips64|ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|alldpi)$' | xargs)" + if [ "$showHelp" != "" ]; then + $(gettop)/build/make/tapasHelp.sh + return + fi + if [ $(echo $arch | wc -w) -gt 1 ]; then echo "tapas: Error: Multiple build archs supplied: $arch" return diff --git a/tapasHelp.sh b/tapasHelp.sh new file mode 100755 index 0000000000..058ac1db3e --- /dev/null +++ b/tapasHelp.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# locate some directories +cd "$(dirname $0)" +SCRIPT_DIR="${PWD}" +cd ../.. +TOP="${PWD}" + +message='usage: tapas [ ...] [arm|x86|mips|armv5|arm64|x86_64|mips64] [eng|userdebug|user] + +tapas selects individual apps to be built by the Android build system. Unlike +"lunch", "tapas" does not request the building of images for a device. +Additionally, an app built with "tapas" will have its dex file inside its apk, +which should cause it to be suitable for installing on any api-compatible +device. In other words, "tapas" configures the build of unbundled apps. + +The names ... should match LOCAL_PACKAGE_NAME as defined in an +Android.mk + +The usage of the other arguments matches that of the rest of the platform +build system and can be found by running `m help`' + +echo "$message"