Shellchecked
This commit is contained in:
parent
764d942bd5
commit
44bff6ee7f
|
@ -20,12 +20,12 @@ else
|
||||||
makes="$(find "$PWD/.." -name Android.mk)"
|
makes="$(find "$PWD/.." -name Android.mk)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! which aapt > /dev/null;then
|
if ! command -v aapt > /dev/null;then
|
||||||
export LD_LIBRARY_PATH=.
|
export LD_LIBRARY_PATH=.
|
||||||
export PATH=$PATH:.
|
export PATH=$PATH:.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! which aapt > /dev/null;then
|
if ! command -v aapt > /dev/null;then
|
||||||
echo "Please install aapt (apt install aapt should do)"
|
echo "Please install aapt (apt install aapt should do)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -34,11 +34,11 @@ cd "$script_dir"
|
||||||
|
|
||||||
echo "$makes" | while read -r f;do
|
echo "$makes" | while read -r f;do
|
||||||
name="$(sed -nE 's/LOCAL_PACKAGE_NAME.*:\=\s*(.*)/\1/p' "$f")"
|
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"
|
echo "Generating $name"
|
||||||
|
|
||||||
path="$(dirname "$f")"
|
path="$(dirname "$f")"
|
||||||
aapt package -f -F ${name}-unsigned.apk -M $path/AndroidManifest.xml -S $path/res -I android.jar
|
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
|
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
|
rm -f "${name}-unsigned.apk"
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
base="$(dirname "$(readlink -f -- $0)")/.."
|
base="$(dirname "$(readlink -f -- "$0")")/.."
|
||||||
cd $base
|
cd "$base" || exit
|
||||||
|
|
||||||
#Usage: fail <file> <message> [ignore string]
|
#Usage: fail <file> <message> [ignore string]
|
||||||
fail() {
|
fail() {
|
||||||
|
@ -16,43 +16,43 @@ fail() {
|
||||||
#Keep knownKeys
|
#Keep knownKeys
|
||||||
rm -f tests/priorities fail
|
rm -f tests/priorities fail
|
||||||
touch tests/priorities tests/knownKeys
|
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")"
|
folder="$(dirname "$manifest")"
|
||||||
#Ensure this overlay doesn't override blacklist-ed properties
|
#Ensure this overlay doesn't override blacklist-ed properties
|
||||||
for b in $(cat tests/blacklist);do
|
cat tests/blacklist |while read -r b;do
|
||||||
if grep -qRF "$b" $folder;then
|
if grep -qRF "$b" "$folder";then
|
||||||
fail $folder "Overlay $folder is defining $b which is forbidden"
|
fail "$folder" "Overlay $folder is defining $b which is forbidden"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
#Everything after that is specifically for static overlays, targetting framework-res
|
#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
|
[ "$isStatic" != "true" ] && continue
|
||||||
|
|
||||||
#Ensure priorities unique-ness
|
#Ensure priorities unique-ness
|
||||||
priority="$(xmlstarlet sel -t -m '//overlay' -v @android:priority -n $manifest)"
|
priority="$(xmlstarlet sel -t -m '//overlay' -v @android:priority -n "$manifest")"
|
||||||
if grep -qE '^'$priority'$' tests/priorities;then
|
if grep -qE '^'"$priority"'$' tests/priorities;then
|
||||||
fail $manifest "priority $priority conflicts with another manifest"
|
fail "$manifest" "priority $priority conflicts with another manifest"
|
||||||
fi
|
fi
|
||||||
echo $priority >> tests/priorities
|
echo "$priority" >> tests/priorities
|
||||||
|
|
||||||
systemPropertyName="$(xmlstarlet sel -t -m '//overlay' -v @android:requiredSystemPropertyName -n $manifest)"
|
systemPropertyName="$(xmlstarlet sel -t -m '//overlay' -v @android:requiredSystemPropertyName -n "$manifest")"
|
||||||
if [ "$systemPropertyName" == "ro.vendor.product.name" -o "$systemPropertyName" == "ro.vendor.product.device" ];then
|
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" \
|
fail "$manifest" "ro.vendor.product.* is deprecated. Please use ro.vendor.build.fingerprint" \
|
||||||
'TESTS: Ignore ro.vendor.product.'
|
'TESTS: Ignore ro.vendor.product.'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#Ensure the overloaded properties exist in AOSP
|
#Ensure the overloaded properties exist in AOSP
|
||||||
find "$folder" -name \*.xml |while read xml;do
|
find "$folder" -name \*.xml |while read -r xml;do
|
||||||
keys="$(xmlstarlet sel -t -m '//resources/*' -v @name -n $xml)"
|
keys="$(xmlstarlet sel -t -m '//resources/*' -v @name -n "$xml")"
|
||||||
for key in $keys;do
|
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.
|
#Run the ag only on phh's machine. Assume that knownKeys is full enough.
|
||||||
#If it's enough, ask phh to update it
|
#If it's enough, ask phh to update it
|
||||||
if [ -d /build/AOSP-9.0 ] && \
|
if [ -d /build/AOSP-9.0 ] && \
|
||||||
(ag '"'$key'"' /build/AOSP-9.0/frameworks/base/core/res/res || \
|
(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
|
ag '"'"$key"'"' /build/AOSP-8.1/frameworks/base/core/res/res)> /dev/null ;then
|
||||||
echo $key >> tests/knownKeys
|
echo "$key" >> tests/knownKeys
|
||||||
else
|
else
|
||||||
fail "$xml" "defines a non-existing attribute $key"
|
fail "$xml" "defines a non-existing attribute $key"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue