Merge "Drop deprecated API lists from csv merge script" am: 269f58445d am: 33afbc9347 am: 3c8464e035
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1392982 Change-Id: I5459bb5b6cc8741b1128822fa9d5d1a11515df5f
This commit is contained in:
committed by
Automerger Merge Worker
commit
da9fd82cd3
@@ -34,26 +34,6 @@ FLAG_PUBLIC_API = 'public-api'
|
|||||||
FLAG_SYSTEM_API = 'system-api'
|
FLAG_SYSTEM_API = 'system-api'
|
||||||
FLAG_TEST_API = 'test-api'
|
FLAG_TEST_API = 'test-api'
|
||||||
|
|
||||||
OLD_FLAG_SDK = "whitelist"
|
|
||||||
OLD_FLAG_UNSUPPORTED = "greylist"
|
|
||||||
OLD_FLAG_BLOCKED = "blacklist"
|
|
||||||
OLD_FLAG_MAX_TARGET_O = "greylist-max-o"
|
|
||||||
OLD_FLAG_MAX_TARGET_P = "greylist-max-p"
|
|
||||||
OLD_FLAG_MAX_TARGET_Q = "greylist-max-q"
|
|
||||||
OLD_FLAG_MAX_TARGET_R = "greylist-max-r"
|
|
||||||
|
|
||||||
OLD_FLAGS_TO_NEW = {
|
|
||||||
OLD_FLAG_SDK: FLAG_SDK,
|
|
||||||
OLD_FLAG_UNSUPPORTED: FLAG_UNSUPPORTED,
|
|
||||||
OLD_FLAG_BLOCKED: FLAG_BLOCKED,
|
|
||||||
OLD_FLAG_MAX_TARGET_O: FLAG_MAX_TARGET_O,
|
|
||||||
OLD_FLAG_MAX_TARGET_P: FLAG_MAX_TARGET_P,
|
|
||||||
OLD_FLAG_MAX_TARGET_Q: FLAG_MAX_TARGET_Q,
|
|
||||||
OLD_FLAG_MAX_TARGET_R: FLAG_MAX_TARGET_R,
|
|
||||||
}
|
|
||||||
|
|
||||||
NEW_FLAGS_TO_OLD = dict(zip(OLD_FLAGS_TO_NEW.values(), OLD_FLAGS_TO_NEW.keys()))
|
|
||||||
|
|
||||||
# List of all known flags.
|
# List of all known flags.
|
||||||
FLAGS_API_LIST = [
|
FLAGS_API_LIST = [
|
||||||
FLAG_SDK,
|
FLAG_SDK,
|
||||||
@@ -205,36 +185,6 @@ class FlagsDict:
|
|||||||
"Please visit go/hiddenapi for more information.").format(
|
"Please visit go/hiddenapi for more information.").format(
|
||||||
source, "\n".join(flags_subset - ALL_FLAGS_SET))
|
source, "\n".join(flags_subset - ALL_FLAGS_SET))
|
||||||
|
|
||||||
def convert_to_new_flag(self, flag):
|
|
||||||
"""Converts old flag to a new variant.
|
|
||||||
|
|
||||||
Flags that are considered old are replaced with new versions.
|
|
||||||
Otherwise, it is a no-op.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
flag: a string, representing SDK flag.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
A string. Result of conversion.
|
|
||||||
|
|
||||||
"""
|
|
||||||
return OLD_FLAGS_TO_NEW.get(flag, flag)
|
|
||||||
|
|
||||||
def convert_to_old_flag(self, flag):
|
|
||||||
"""Converts a new flag to a old variant.
|
|
||||||
|
|
||||||
No-op if there is no suitable old flag.
|
|
||||||
Only used to support backwards compatibility.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
flag: a string, representing SDK flag.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
A string. Result of conversion.
|
|
||||||
|
|
||||||
"""
|
|
||||||
return NEW_FLAGS_TO_OLD.get(flag, flag)
|
|
||||||
|
|
||||||
def filter_apis(self, filter_fn):
|
def filter_apis(self, filter_fn):
|
||||||
"""Returns APIs which match a given predicate.
|
"""Returns APIs which match a given predicate.
|
||||||
|
|
||||||
@@ -272,7 +222,7 @@ class FlagsDict:
|
|||||||
"""
|
"""
|
||||||
lines = []
|
lines = []
|
||||||
for api in self._dict:
|
for api in self._dict:
|
||||||
flags = sorted([self.convert_to_old_flag(flag) for flag in self._dict[api]])
|
flags = sorted(self._dict[api])
|
||||||
lines.append(",".join([api] + flags))
|
lines.append(",".join([api] + flags))
|
||||||
return sorted(lines)
|
return sorted(lines)
|
||||||
|
|
||||||
@@ -298,12 +248,12 @@ class FlagsDict:
|
|||||||
# Check that all flags are known.
|
# Check that all flags are known.
|
||||||
csv_flags = set()
|
csv_flags = set()
|
||||||
for csv in csv_values:
|
for csv in csv_values:
|
||||||
csv_flags.update([self.convert_to_new_flag(flag) for flag in csv[1:]])
|
csv_flags.update(csv[1:])
|
||||||
self._check_flags_set(csv_flags, source)
|
self._check_flags_set(csv_flags, source)
|
||||||
|
|
||||||
# Iterate over all CSV lines, find entry in dict and append flags to it.
|
# Iterate over all CSV lines, find entry in dict and append flags to it.
|
||||||
for csv in csv_values:
|
for csv in csv_values:
|
||||||
flags = [self.convert_to_new_flag(flag) for flag in csv[1:]]
|
flags = csv[1:]
|
||||||
if (FLAG_PUBLIC_API in flags) or (FLAG_SYSTEM_API in flags):
|
if (FLAG_PUBLIC_API in flags) or (FLAG_SYSTEM_API in flags):
|
||||||
flags.append(FLAG_SDK)
|
flags.append(FLAG_SDK)
|
||||||
self._dict[csv[0]].update(flags)
|
self._dict[csv[0]].update(flags)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
|
|||||||
flags.parse_and_merge_csv(['A,' + FLAG_SDK, 'B', 'C'])
|
flags.parse_and_merge_csv(['A,' + FLAG_SDK, 'B', 'C'])
|
||||||
flags.assign_flag(FLAG_UNSUPPORTED, set(['C']))
|
flags.assign_flag(FLAG_UNSUPPORTED, set(['C']))
|
||||||
self.assertEqual(flags.generate_csv(),
|
self.assertEqual(flags.generate_csv(),
|
||||||
[ 'A,' + OLD_FLAG_SDK, 'B', 'C,' + OLD_FLAG_UNSUPPORTED ])
|
[ 'A,' + FLAG_SDK, 'B', 'C,' + FLAG_UNSUPPORTED ])
|
||||||
|
|
||||||
# Check three things:
|
# Check three things:
|
||||||
# (1) B is selected as valid unassigned
|
# (1) B is selected as valid unassigned
|
||||||
@@ -50,8 +50,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
|
|||||||
# Test empty CSV entry.
|
# Test empty CSV entry.
|
||||||
self.assertEqual(flags.generate_csv(), [])
|
self.assertEqual(flags.generate_csv(), [])
|
||||||
|
|
||||||
# Test new additions. CSV generator produces values with old flags
|
# Test new additions.
|
||||||
# to be backwards compatible.
|
|
||||||
flags.parse_and_merge_csv([
|
flags.parse_and_merge_csv([
|
||||||
'A,' + FLAG_UNSUPPORTED,
|
'A,' + FLAG_UNSUPPORTED,
|
||||||
'B,' + FLAG_BLOCKED + ',' + FLAG_MAX_TARGET_O,
|
'B,' + FLAG_BLOCKED + ',' + FLAG_MAX_TARGET_O,
|
||||||
@@ -60,11 +59,11 @@ class TestHiddenapiListGeneration(unittest.TestCase):
|
|||||||
'E,' + FLAG_BLOCKED + ',' + FLAG_TEST_API,
|
'E,' + FLAG_BLOCKED + ',' + FLAG_TEST_API,
|
||||||
])
|
])
|
||||||
self.assertEqual(flags.generate_csv(), [
|
self.assertEqual(flags.generate_csv(), [
|
||||||
'A,' + OLD_FLAG_UNSUPPORTED,
|
'A,' + FLAG_UNSUPPORTED,
|
||||||
'B,' + OLD_FLAG_BLOCKED + "," + OLD_FLAG_MAX_TARGET_O,
|
'B,' + FLAG_BLOCKED + "," + FLAG_MAX_TARGET_O,
|
||||||
'C,' + FLAG_SYSTEM_API + ',' + OLD_FLAG_SDK,
|
'C,' + FLAG_SYSTEM_API + ',' + FLAG_SDK,
|
||||||
'D,' + OLD_FLAG_UNSUPPORTED + ',' + FLAG_TEST_API,
|
'D,' + FLAG_UNSUPPORTED + ',' + FLAG_TEST_API,
|
||||||
'E,' + OLD_FLAG_BLOCKED + ',' + FLAG_TEST_API,
|
'E,' + FLAG_BLOCKED + ',' + FLAG_TEST_API,
|
||||||
])
|
])
|
||||||
|
|
||||||
# Test unknown flag.
|
# Test unknown flag.
|
||||||
@@ -78,7 +77,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
|
|||||||
# Test new additions.
|
# Test new additions.
|
||||||
flags.assign_flag(FLAG_UNSUPPORTED, set([ 'A', 'B' ]))
|
flags.assign_flag(FLAG_UNSUPPORTED, set([ 'A', 'B' ]))
|
||||||
self.assertEqual(flags.generate_csv(),
|
self.assertEqual(flags.generate_csv(),
|
||||||
[ 'A,' + OLD_FLAG_UNSUPPORTED + "," + OLD_FLAG_SDK, 'B,' + OLD_FLAG_UNSUPPORTED ])
|
[ 'A,' + FLAG_UNSUPPORTED + "," + FLAG_SDK, 'B,' + FLAG_UNSUPPORTED ])
|
||||||
|
|
||||||
# Test invalid API signature.
|
# Test invalid API signature.
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
|
|||||||
Reference in New Issue
Block a user