From 44bff6ee7f822f2ce4e0e97faa62b186dc9cbf2c Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Sun, 31 Mar 2019 19:51:27 +0200 Subject: [PATCH] Shellchecked --- build/build.sh | 12 ++++++------ tests/tests.sh | 38 +++++++++++++++++++------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/build/build.sh b/build/build.sh index 1720dff..6bcd008 100755 --- a/build/build.sh +++ b/build/build.sh @@ -20,12 +20,12 @@ else makes="$(find "$PWD/.." -name Android.mk)" fi -if ! which aapt > /dev/null;then +if ! command -v aapt > /dev/null;then export LD_LIBRARY_PATH=. export PATH=$PATH:. fi -if ! which aapt > /dev/null;then +if ! command -v aapt > /dev/null;then echo "Please install aapt (apt install aapt should do)" exit 1 fi @@ -34,11 +34,11 @@ cd "$script_dir" echo "$makes" | while read -r f;do name="$(sed -nE 's/LOCAL_PACKAGE_NAME.*:\=\s*(.*)/\1/p' "$f")" - grep -q treble-overlay <<<$name || continue + grep -q treble-overlay <<<"$name" || continue echo "Generating $name" path="$(dirname "$f")" - aapt package -f -F ${name}-unsigned.apk -M $path/AndroidManifest.xml -S $path/res -I android.jar - LD_LIBRARY_PATH=./signapk/ java -jar signapk/signapk.jar keys/platform.x509.pem keys/platform.pk8 ${name}-unsigned.apk ${name}.apk - rm -f ${name}-unsigned.apk + aapt package -f -F "${name}-unsigned.apk" -M "$path/AndroidManifest.xml" -S "$path/res" -I android.jar + LD_LIBRARY_PATH=./signapk/ java -jar signapk/signapk.jar keys/platform.x509.pem keys/platform.pk8 "${name}-unsigned.apk" "${name}.apk" + rm -f "${name}-unsigned.apk" done diff --git a/tests/tests.sh b/tests/tests.sh index 0daabaf..b8165f0 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -1,7 +1,7 @@ #!/bin/bash -base="$(dirname "$(readlink -f -- $0)")/.." -cd $base +base="$(dirname "$(readlink -f -- "$0")")/.." +cd "$base" || exit #Usage: fail [ignore string] fail() { @@ -16,43 +16,43 @@ fail() { #Keep knownKeys rm -f tests/priorities fail touch tests/priorities tests/knownKeys -find -name AndroidManifest.xml |while read manifest;do +find . -name AndroidManifest.xml |while read -r manifest;do folder="$(dirname "$manifest")" #Ensure this overlay doesn't override blacklist-ed properties - for b in $(cat tests/blacklist);do - if grep -qRF "$b" $folder;then - fail $folder "Overlay $folder is defining $b which is forbidden" + cat tests/blacklist |while read -r b;do + if grep -qRF "$b" "$folder";then + fail "$folder" "Overlay $folder is defining $b which is forbidden" fi done #Everything after that is specifically for static overlays, targetting framework-res - isStatic="$(xmlstarlet sel -t -m '//overlay' -v @android:isStatic -n $manifest)" + isStatic="$(xmlstarlet sel -t -m '//overlay' -v @android:isStatic -n "$manifest")" [ "$isStatic" != "true" ] && continue #Ensure priorities unique-ness - priority="$(xmlstarlet sel -t -m '//overlay' -v @android:priority -n $manifest)" - if grep -qE '^'$priority'$' tests/priorities;then - fail $manifest "priority $priority conflicts with another manifest" + priority="$(xmlstarlet sel -t -m '//overlay' -v @android:priority -n "$manifest")" + if grep -qE '^'"$priority"'$' tests/priorities;then + fail "$manifest" "priority $priority conflicts with another manifest" fi - echo $priority >> tests/priorities + echo "$priority" >> tests/priorities - systemPropertyName="$(xmlstarlet sel -t -m '//overlay' -v @android:requiredSystemPropertyName -n $manifest)" - if [ "$systemPropertyName" == "ro.vendor.product.name" -o "$systemPropertyName" == "ro.vendor.product.device" ];then + systemPropertyName="$(xmlstarlet sel -t -m '//overlay' -v @android:requiredSystemPropertyName -n "$manifest")" + if [ "$systemPropertyName" == "ro.vendor.product.name" ] || [ "$systemPropertyName" == "ro.vendor.product.device" ];then fail "$manifest" "ro.vendor.product.* is deprecated. Please use ro.vendor.build.fingerprint" \ 'TESTS: Ignore ro.vendor.product.' fi #Ensure the overloaded properties exist in AOSP - find "$folder" -name \*.xml |while read xml;do - keys="$(xmlstarlet sel -t -m '//resources/*' -v @name -n $xml)" + find "$folder" -name \*.xml |while read -r xml;do + keys="$(xmlstarlet sel -t -m '//resources/*' -v @name -n "$xml")" for key in $keys;do - grep -qE '^'$key'$' tests/knownKeys && continue + grep -qE '^'"$key"'$' tests/knownKeys && continue #Run the ag only on phh's machine. Assume that knownKeys is full enough. #If it's enough, ask phh to update it if [ -d /build/AOSP-9.0 ] && \ - (ag '"'$key'"' /build/AOSP-9.0/frameworks/base/core/res/res || \ - ag '"'$key'"' /build/AOSP-8.1/frameworks/base/core/res/res)> /dev/null ;then - echo $key >> tests/knownKeys + (ag '"'"$key"'"' /build/AOSP-9.0/frameworks/base/core/res/res || \ + ag '"'"$key"'"' /build/AOSP-8.1/frameworks/base/core/res/res)> /dev/null ;then + echo "$key" >> tests/knownKeys else fail "$xml" "defines a non-existing attribute $key" fi