make: Add support for vintf manifest files

This commit is contained in:
Danny Lin 2021-11-13 18:46:43 -08:00
parent f6eed35673
commit 8d32be55a6

View file

@ -13,6 +13,13 @@ const SEPOLICY_PARTITION_VARS: { [part: string]: string } = {
odm: 'BOARD_ODM_SEPOLICY_DIRS',
}
const VINTF_MANIFEST_PARTITION_VARS: { [part: string]: string } = {
system_ext: 'SYSTEM_EXT_MANIFEST_FILES',
product: 'PRODUCT_MANIFEST_FILES',
vendor: 'DEVICE_MANIFEST_FILE', // no 'S'
odm: 'ODM_MANIFEST_FILES',
}
export interface Symlink {
moduleName: string
linkPartition: string
@ -41,6 +48,8 @@ export interface ProductMakefile {
copyFiles?: Array<string>
packages?: Array<string>
vintfManifestPaths?: Map<string, string>
props?: PartitionProps
fingerprint?: string
}
@ -162,6 +171,12 @@ export function serializeProductMakefile(mk: ProductMakefile) {
addContBlock(blocks, 'PRODUCT_COPY_FILES', mk.copyFiles)
addContBlock(blocks, 'PRODUCT_PACKAGES', mk.packages)
if (mk.vintfManifestPaths != undefined) {
for (let [partition, manifestPath] of mk.vintfManifestPaths.entries()) {
blocks.push(`${VINTF_MANIFEST_PARTITION_VARS[partition]} += ${manifestPath}`)
}
}
if (mk.props != undefined) {
for (let [partition, props] of mk.props.entries()) {
if (props.size == 0) {