You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.6 KiB
85 lines
2.6 KiB
4 months ago
|
#!/bin/bash
|
||
|
|
||
|
if ! which xmlstarlet > /dev/null
|
||
|
then
|
||
|
echo "You need to have the 'xmlstarlet' command in your path"
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
apps=$1
|
||
|
CWD=$(pwd)/
|
||
|
if [ "$apps" = "" ]
|
||
|
then
|
||
|
echo "Please specify the path to an application, or '--all' to process all applications"
|
||
|
exit
|
||
|
elif [ "$apps" = "--all" ]
|
||
|
then
|
||
|
apps=$ANDROID_BUILD_TOP/packages/apps/*
|
||
|
fi
|
||
|
|
||
|
BASE=$(pwd)/$(dirname $0)
|
||
|
|
||
|
for app in $apps
|
||
|
do
|
||
|
pushd $app
|
||
|
$BASE/findunusedresources -p . | {
|
||
|
read LINE NUM
|
||
|
while [ "$LINE" != "" ]
|
||
|
do
|
||
|
if [ "Z$LINE" = "Z-----------------------------------------------------------" ]
|
||
|
then
|
||
|
# skip
|
||
|
true
|
||
|
elif [ "$LINE" = "$app" ]
|
||
|
then
|
||
|
# skip
|
||
|
true
|
||
|
else
|
||
|
# try to find the missing resource
|
||
|
find res | grep -w $LINE | {
|
||
|
read RESLINE
|
||
|
while [ "$RESLINE" != "" ]
|
||
|
do
|
||
|
if [ -f $RESLINE ]
|
||
|
then
|
||
|
echo REMOVING FILE: $RESLINE
|
||
|
git rm $RESLINE > /dev/null
|
||
|
else
|
||
|
echo WARNING unexpected result for $LINE
|
||
|
fi
|
||
|
read RESLINE
|
||
|
done
|
||
|
}
|
||
|
grep -Rwl $LINE res | {
|
||
|
read RESLINE
|
||
|
while [ "$RESLINE" != "" ]
|
||
|
do
|
||
|
ISSTRING=$(echo "$RESLINE" | grep -w "strings\.xml")
|
||
|
if [ -n "$ISSTRING" ]
|
||
|
then
|
||
|
echo REMOVING STRING $LINE from $RESLINE
|
||
|
xmlstarlet ed -P -S -d "/resources/string[@name='$LINE']" $RESLINE > tf$$
|
||
|
mv tf$$ $RESLINE
|
||
|
git add $RESLINE
|
||
|
else
|
||
|
echo REMOVING $LINE from $RESLINE
|
||
|
xmlstarlet ed -P -S -d "/resources/*[@name='$LINE']" $RESLINE > tf$$
|
||
|
mv tf$$ $RESLINE
|
||
|
git add $RESLINE
|
||
|
fi
|
||
|
read RESLINE
|
||
|
done
|
||
|
}
|
||
|
fi
|
||
|
read LINE NUM
|
||
|
done
|
||
|
}
|
||
|
popd
|
||
|
done
|
||
|
echo
|
||
|
echo "Done."
|
||
|
echo "Please rebuild the updated applications to make sure that everything still builds."
|
||
|
echo "After rebuilding, rerun 'findunusedresources' or 'removeunusedresources' to see if any more resources are now unused."
|
||
|
echo "When you're done, you can 'git commit' the change."
|
||
|
echo
|