Handle the case when a symbol is annotated with "# apex vndk"
This change fixes a bug that a symbol is omitted for apex (or vndk) when it is annotated with "# vndk apex" (or "# apex vndk). Bug: 123349183 Test: python3 test_gen_stub_libs.py Change-Id: I344d6e70732bae8877cb16bbe881edb79fe90670
This commit is contained in:
parent
f98087ffce
commit
1431765f8d
|
@ -119,9 +119,12 @@ def should_omit_version(version, arch, api, vndk, apex):
|
|||
return True
|
||||
if 'platform-only' in version.tags:
|
||||
return True
|
||||
if 'vndk' in version.tags and not vndk:
|
||||
return True
|
||||
if 'apex' in version.tags and not apex:
|
||||
|
||||
no_vndk_no_apex = 'vndk' not in version.tags and 'apex' not in version.tags
|
||||
keep = no_vndk_no_apex or \
|
||||
('vndk' in version.tags and vndk) or \
|
||||
('apex' in version.tags and apex)
|
||||
if not keep:
|
||||
return True
|
||||
if not symbol_in_arch(version.tags, arch):
|
||||
return True
|
||||
|
@ -132,9 +135,11 @@ def should_omit_version(version, arch, api, vndk, apex):
|
|||
|
||||
def should_omit_symbol(symbol, arch, api, vndk, apex):
|
||||
"""Returns True if the symbol should be omitted."""
|
||||
if not vndk and 'vndk' in symbol.tags:
|
||||
return True
|
||||
if not apex and 'apex' in symbol.tags:
|
||||
no_vndk_no_apex = 'vndk' not in symbol.tags and 'apex' not in symbol.tags
|
||||
keep = no_vndk_no_apex or \
|
||||
('vndk' in symbol.tags and vndk) or \
|
||||
('apex' in symbol.tags and apex)
|
||||
if not keep:
|
||||
return True
|
||||
if not symbol_in_arch(symbol.tags, arch):
|
||||
return True
|
||||
|
|
|
@ -751,6 +751,8 @@ class IntegrationTest(unittest.TestCase):
|
|||
wibble;
|
||||
wizzes; # vndk
|
||||
waggle; # apex
|
||||
bubble; # apex vndk
|
||||
duddle; # vndk apex
|
||||
} VERSION_2;
|
||||
|
||||
VERSION_5 { # versioned=14
|
||||
|
@ -771,6 +773,8 @@ class IntegrationTest(unittest.TestCase):
|
|||
void qux() {}
|
||||
void wibble() {}
|
||||
void waggle() {}
|
||||
void bubble() {}
|
||||
void duddle() {}
|
||||
void wobble() {}
|
||||
""")
|
||||
self.assertEqual(expected_src, src_file.getvalue())
|
||||
|
@ -788,6 +792,8 @@ class IntegrationTest(unittest.TestCase):
|
|||
global:
|
||||
wibble;
|
||||
waggle;
|
||||
bubble;
|
||||
duddle;
|
||||
} VERSION_2;
|
||||
""")
|
||||
self.assertEqual(expected_version, version_file.getvalue())
|
||||
|
|
Loading…
Reference in New Issue