adevtool/config/examples/device.yml
2022-04-04 15:47:01 -04:00

166 lines
5.7 KiB
YAML

# All blocks, sections, and values can be omitted to use the default, unless otherwise specified.
# This is an individual device config so the type is "device", which is the default.
type: device
# Basic device info (REQUIRED)
device:
# Codename (REQUIRED)
name: raven
# Vendor name (REQUIRED; typically OEM name, but Pixel devices use google_devices)
vendor: google_devices
# ROM-related info (REQUIRED)
platform:
# Path to the AOSP device product makefile (REQUIRED)
product_makefile: device/google/raviole/aosp_raven.mk
# Soong namespaces to import
# No namespaces are necessary on Pixel devices.
namespaces:
- hardware/google/pixel
# All directories containing SELinux policies used for this device
sepolicy_dirs:
- hardware/google/pixel-sepolicy
- device/google/gs101-sepolicy
# Config snippets to include.
# All snippets are merged together to make the final config. Splitting configs into
# logical sections that can be reused across multiple devices is recommended; see
# config/pixel/snippets for examples.
includes:
- snippets/2019.yml
# Items to generate or extract from stock.
# Unless otherwise specified, all items are enabled by default.
# In most cases, this section is unnecessary for Pixel devices.
generate:
# Resolve overriden build rules into rules to build packages from source
overrides: true
# Identify apps that should be presigned and automatically mark them accordingly
presigned: true
# Flatten prebuilt APEX modules. Disabled by default, as this is currently broken
flat_apex: false
# Extract proprietary files
files: true
# System properties
props: true
# Build SELinux policies available in AOSP, included in stock but not built by default
sepolicy_dirs: true
# Resource overlays for configs, etc.
overlays: true
# Vendor interface HALs (manifest)
vintf: true
# Firmware for factory images packages
factory_firmware: true
# Firmware for OTA packages. Not yet implemented
ota_firmware: true
# Product targets with the same device name as stock (e.g. aosp_raven -> raven)
products: true
# Filters for items extracted from stock.
# All filter sets have the same format: match, prefix, suffix, substring, regex
# Unless otherwise specified, all filter sets are *exclusion* lists, so all items
# not matched by the filters will be *included*.
#
# For all filter sets, only *missing* items (items present in stock images, but
# not the AOSP build) will be considered. This means that filters don't have to
# be comprehensive in most cases, as many items will be ignored automatically.
filters:
# System properties (by key, e.g. ro.product.system.device)
props:
# Whether to include or exclude matched items. Items not matched will have the opposite action
# include: Inclusion list (aka whitelist, allowlist)
# exclude: Exclusion list (aka blacklist, ignorelist)
mode: exclude
# Match these specific items
match:
# Example: match "ro.gfx.angle.supported"
- ro.gfx.angle.supported
# Match all items with any of these prefixes
prefix:
# Example: match all items starting with "setupwizard."
- setupwizard.
# Match all items with any of these suffixes
suffix:
# Example: match all items ending in ".device"
- .device
# Match all items containing any of these substrings (case-sensitive)
substring:
# Example: match all items containing ".boot."
- .boot.
# Match all items matching any of these regular expressions (regexes)
# For performance reasons, you should only use these when necessary.
# Wrap regexes with single-quotes to keep special characters intact.
regex:
# Example: match all items of the format "ro.surface_flinger.*_ms"
- '^ro\.surface_flinger\.(?:.*)_ms$'
# Example 2: match all items with numbers
- '^.*[0-9].*$'
# Filter sets below are mostly empty for brevity, as the format is the same for
# all filters.
# Resource overlay keys
# Format: package/OverlayableConfig:type/res_name
overlay_keys:
match:
# Simple example
- android:string-array/config_companionDevicePackages
# Example with overlayable config
# Most packages don't need overlayable config names. Check overlays/[partition].txt for keys
- com.android.wifi.resources/WifiCustomization:integer/config_wifi_framework_wifi_score_good_link_speed_5
# Resource overlay values
overlay_values:
substring:
- com.google.android.gms
# Resource overlay APK file names (to work around aapt2 parsing bugs)
# Only base file name, not full path
overlay_files:
match:
- HbmSVManager__auto_generated_rro_product.apk
# Firmware or system partitions to exclude
partitions:
match:
# Don't build vendor
- vendor
# Exclude modem firmware
- modem
# Paths of APKs to mark as presigned
# Default mode is to *include* these apps in addition to auto-detected ones, unlike most filters
presigned:
match:
- system_ext/priv-app/EuiccSupportPixel/EuiccSupportPixel.apk
# Paths of SELinux policies to exclude
sepolicy_dirs:
match:
# Exclude ramdump debugging
- hardware/google/pixel-sepolicy/ramdump
# Files to include in barebones preparation builds.
# Start with an empty list, then add the files necessary to make generate-prep
# build successfully with no errors. These are usually dependency libraries for
# packages built from source.
#
# Default mode is to *include* only these files, unlike most filters.
# No files are included by default.
dep_files:
match:
- vendor/lib/libOpenCL.so
- vendor/lib64/libOpenCL.so
# Proprietary files to exclude
files:
match:
- product/framework/libhwinfo.jar