1#!/bin/bash -e 2if ! [ -e build/soong ]; then 3 echo "This script must be run from the top of the tree" 4 exit 1 5fi 6 7commandline="$*" 8 9sdk="$1" 10if [[ -z "$sdk" ]]; then 11 echo "usage: $0 <new-sdk-int> [module1,module2,..] [bug-id]" 12 exit 1 13fi 14shift 15 16if [[ -n $1 ]] && ! [[ $1 =~ [0-9]+ ]]; then 17 IFS=',' read -r -a modules <<< "$1" 18 modules_arg="--modules $1" 19 shift 20fi 21 22bug="$1" 23 24SDKEXT="packages/modules/SdkExtensions/" 25 26TARGET_PRODUCT=aosp_arm64 build/soong/soong_ui.bash --make-mode --soong-only gen_sdk 27out/soong/host/linux-x86/bin/gen_sdk \ 28 --database ${SDKEXT}/gen_sdk/extensions_db.textpb \ 29 --action new_sdk \ 30 --sdk "$sdk" \ 31 $modules_arg 32 33message="Bump SDK Extension version to ${sdk}\n" 34 35if [[ "$modules_arg" ]]; then 36 message+="\nModules with new APIs:\n" 37 for mod in "${modules[@]}"; do 38 message+=" - $mod\n" 39 done 40fi 41 42message+="\nGenerated with: 43$ $0 $commandline 44 45Database update generated with: 46$ gen_sdk --action new_sdk --sdk $sdk 47" 48message+=$(test -z "$bug" || echo "\nBug: $bug") 49message+="\nTest: presubmit" 50message+="\nIgnore-AOSP-first: SDKs are finalized outside of AOSP" 51 52message=$(echo -e "$message") # expand '\n' chars 53git -C ${SDKEXT} commit -a -m "$message" 54