Merge "Add min_sdk_version prop to snapshots"
This commit is contained in:
@@ -113,6 +113,7 @@ JSON_TO_BP = {
|
||||
'CrateName': 'crate_name',
|
||||
'Prebuilt': 'prebuilt',
|
||||
'Overrides': 'overrides',
|
||||
'MinSdkVersion': 'min_sdk_version',
|
||||
}
|
||||
|
||||
SANITIZER_VARIANT_PROPS = {
|
||||
|
||||
@@ -595,7 +595,7 @@ class GenBuildFile(object):
|
||||
break
|
||||
return notice
|
||||
|
||||
def get_arch_props(name, arch, src_paths):
|
||||
def get_arch_props(name, arch, srcs_props):
|
||||
"""Returns build rule for arch specific srcs.
|
||||
|
||||
e.g.,
|
||||
@@ -619,7 +619,7 @@ class GenBuildFile(object):
|
||||
Args:
|
||||
name: string, name of prebuilt module
|
||||
arch: string, VNDK snapshot arch (e.g. 'arm64')
|
||||
src_paths: list of string paths, prebuilt source paths
|
||||
srcs_props: dict, prebuilt source paths and corresponding flags
|
||||
"""
|
||||
arch_props = '{ind}arch: {{\n'.format(ind=self.INDENT)
|
||||
|
||||
@@ -639,21 +639,12 @@ class GenBuildFile(object):
|
||||
# Rename out/soong/.intermediates to generated-headers for better readability.
|
||||
return [d.replace(utils.SOONG_INTERMEDIATES_DIR, utils.GENERATED_HEADERS_DIR, 1) for d in dirs]
|
||||
|
||||
for src in sorted(src_paths):
|
||||
for src in sorted(srcs_props.keys()):
|
||||
include_dirs = ''
|
||||
system_include_dirs = ''
|
||||
flags = ''
|
||||
relative_install_path = ''
|
||||
prop_path = os.path.join(src_root, src+'.json')
|
||||
props = dict()
|
||||
try:
|
||||
with open(prop_path, 'r') as f:
|
||||
props = json.loads(f.read())
|
||||
os.unlink(prop_path)
|
||||
except:
|
||||
# TODO(b/70312118): Parse from soong build system
|
||||
if name == 'android.hidl.memory@1.0-impl':
|
||||
props['RelativeInstallPath'] = 'hw'
|
||||
props = srcs_props[src]
|
||||
if 'ExportedDirs' in props:
|
||||
dirs = rename_generated_dirs(props['ExportedDirs'])
|
||||
l = ['include/%s' % d for d in dirs]
|
||||
@@ -733,7 +724,21 @@ class GenBuildFile(object):
|
||||
vndk_sp=vndk_sp,
|
||||
vndk_private=vndk_private))
|
||||
|
||||
arch_props = get_arch_props(name, arch, src_paths)
|
||||
srcs_props = dict()
|
||||
for src in src_paths:
|
||||
props = dict()
|
||||
prop_path = os.path.join(src_root, src+'.json')
|
||||
try:
|
||||
with open(prop_path, 'r') as f:
|
||||
props = json.loads(f.read())
|
||||
os.unlink(prop_path)
|
||||
except:
|
||||
# TODO(b/70312118): Parse from soong build system
|
||||
if name == 'android.hidl.memory@1.0-impl':
|
||||
props['RelativeInstallPath'] = 'hw'
|
||||
srcs_props[src] = props
|
||||
arch_props = get_arch_props(name, arch, srcs_props)
|
||||
|
||||
if self._license_in_json:
|
||||
license = get_license_prop(name)
|
||||
else:
|
||||
@@ -743,6 +748,14 @@ class GenBuildFile(object):
|
||||
if is_binder32:
|
||||
binder32bit = '{ind}binder32bit: true,\n'.format(ind=self.INDENT)
|
||||
|
||||
min_sdk_version = ''
|
||||
for src, props in srcs_props.items():
|
||||
if 'MinSdkVersion' in props:
|
||||
min_sdk_version = '{ind}min_sdk_version: "{ver}",\n'.format(
|
||||
ind=self.INDENT,
|
||||
ver=props['MinSdkVersion'])
|
||||
break
|
||||
|
||||
return ('vndk_prebuilt_shared {{\n'
|
||||
'{ind}name: "{name}",\n'
|
||||
'{ind}version: "{ver}",\n'
|
||||
@@ -751,6 +764,7 @@ class GenBuildFile(object):
|
||||
'{ind}vendor_available: true,\n'
|
||||
'{product_available}'
|
||||
'{vndk_props}'
|
||||
'{min_sdk_version}'
|
||||
'{license}'
|
||||
'{arch_props}'
|
||||
'}}\n'.format(
|
||||
@@ -761,6 +775,7 @@ class GenBuildFile(object):
|
||||
binder32bit=binder32bit,
|
||||
product_available=product_available,
|
||||
vndk_props=vndk_props,
|
||||
min_sdk_version=min_sdk_version,
|
||||
license=license,
|
||||
arch_props=arch_props))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user