-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prevent hiddenapi entries being added for libcore related projects
The libcore related projects (see below) have been (mostly) switched over to use UnsupportedAppUsage annotations, This change will prevent entries for those projects being added to a config/hiddenapi-* file. * libcore * external/bouncycastle * external/conscrypt * external/icu * external/okhttp * external/libphonenumber - still has a couple of entries in config/hiddenapi-light-greylist.txt due to limitations in UnsupportedAppUsage/class2greylist. Tested by attempting to upload the file with entries for libcore projects and without those entries and checking that the behavior is expected. Test: see above Bug: 117818301 Change-Id: I67a30b307e12e842b28cfb2160fab0029868fa06
- Loading branch information
1 parent
900ab8a
commit 00537c1
Showing
2 changed files
with
60 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#!/bin/bash | ||
set -e | ||
# Make sure that entries are not added for packages that are already fully handled using | ||
# annotations. | ||
LOCAL_DIR="$( dirname ${BASH_SOURCE} )" | ||
# Each team should add a <team>_PACKAGES and <team>_EMAIL with the list of packages and | ||
# the team email to use in the event of this detecting an entry in a <team> package. Also | ||
# add <team> to the TEAMS list. | ||
LIBCORE_PACKAGES="\ | ||
android.icu \ | ||
android.system \ | ||
com.android.bouncycastle \ | ||
com.android.conscrypt \ | ||
com.android.okhttp \ | ||
com.sun \ | ||
dalvik \ | ||
java \ | ||
javax \ | ||
libcore \ | ||
org.apache.harmony \ | ||
org.json \ | ||
org.w3c.dom \ | ||
org.xml.sax \ | ||
sun \ | ||
" | ||
[email protected] | ||
|
||
# List of teams. | ||
TEAMS=LIBCORE | ||
|
||
# Generate the list of packages and convert to a regular expression. | ||
PACKAGES=$(for t in $TEAMS; do echo $(eval echo \${${t}_PACKAGES}); done) | ||
RE=$(echo ${PACKAGES} | sed "s/ /|/g") | ||
git show --name-only --pretty=format: $1 | grep "config/hiddenapi-.*txt" | while read file; do | ||
ENTRIES=$(grep -E "^L(${RE})/" <(git show $1:$file)) | ||
if [[ -n "${ENTRIES}" ]]; then | ||
echo -e "\e[1m\e[31m$file $1 contains the following entries\e[0m" | ||
echo -e "\e[1m\e[31mfor packages that are handled using UnsupportedAppUsage. Please remove\e[0m" | ||
echo -e "\e[1m\e[31mthese entries and add annotations instead.\e[0m" | ||
# Partition the entries by team and provide contact details to aid in fixing the issue. | ||
for t in ${TEAMS} | ||
do | ||
PACKAGES=$(eval echo \${${t}_PACKAGES}) | ||
RE=$(echo ${PACKAGES} | sed "s/ /|/g") | ||
TEAM_ENTRIES=$(grep -E "^L(${RE})/" <(echo "${ENTRIES}")) | ||
if [[ -n "${TEAM_ENTRIES}" ]]; then | ||
EMAIL=$(eval echo \${${t}_EMAIL}) | ||
echo -e "\e[33mContact ${EMAIL} or compat- for help with the following:\e[0m" | ||
for i in ${ENTRIES} | ||
do | ||
echo -e "\e[33m ${i}\e[0m" | ||
done | ||
fi | ||
done | ||
exit 1 | ||
fi | ||
done |