Files
PawletOS-Build/example.repo.yml
T
oxmc b33843feb4 Support merged remove_projects manifests and add repo.yml docs
local_manifests values are normally a single URL. The remove_projects
key may instead be a list of URLs, merged/de-duplicated into a single
manifest fragment rather than one file per key. Document repo.yml
structure in README and add a fully commented example.repo.yml.
2026-07-04 02:37:14 -07:00

59 lines
3.3 KiB
YAML

# Example repo.yml for environ.py.
#
# Copy this to repo.yml (or point --config at your own copy) and fill in real
# URLs/branches. This example is based on the PawletOS Raspberry Pi manifest:
# android_local_manifest/rpi/repo-shallow.yml
repo:
# Upstream manifest repo passed to `repo init -u`.
url: "https://android.googlesource.com/platform/manifest"
# Tag/branch passed to `repo init -b`. Must match an AOSP release tag.
branch: "android-16.0.0_r4"
# Extra flags appended verbatim to `repo init`.
options:
- "--depth=1" # Shallow clone: history-less checkout, faster/smaller sync.
# Local manifest XML fragments, fetched with `requests` and written into
# <source>/.repo/local_manifests/<key>.xml after `repo init`, before `repo sync`.
# `repo` reads every *.xml file in that directory and layers them on top of
# the upstream manifest (adding projects, removing projects, overriding revisions).
#
# Each value is either:
# - a single URL string -> downloaded as-is to "<key>.xml"
# - a YAML list of URLs -> all downloaded and merged into one "<key>.xml",
# combining their child elements and de-duplicating entries that share the
# same tag + name attribute (first occurrence wins). Useful for splitting a
# long <remove-project> list across a common file and a device-specific one.
local_manifests:
# Adds PawletOS's own repo/project definitions common to all devices.
manifest_common_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/pawletos.xml"
# Adds Broadcom vendor projects needed for Raspberry Pi (VideoCore/graphics, etc.).
manifest_brcm_rpi: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/vendor/brcm_rpi.xml"
# Adds LineageOS projects PawletOS builds on top of.
manifest_lineageos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/vendor/lineageos.xml"
# Adds PawletOS's Raspberry Pi-specific device/project definitions.
manifest_pawletos: "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/rpi/pawletos.xml"
# <remove-project> entries: AOSP projects unused on this target that should
# NOT be synced (saves time/disk; e.g. other-vendor devices, darwin prebuilts).
# Listed as a YAML list so a device-specific removal file can be appended
# alongside the common one, e.g.:
# remove_projects:
# - ".../common/remove_projects.xml"
# - ".../rpi/remove_projects.xml"
remove_projects:
- "https://git.oxmc.me/PawletOS/android_local_manifest/raw/branch/android-16.0/common/remove_projects.xml"
patches:
# Directories (relative to source root) to search for patches, used with
# `environ.py --applyPatches`. Each entry is resolved inside the AOSP source
# directory after repo sync. Subdirectory layout mirrors AOSP project paths:
# vendor/pawlet/patches/frameworks/base/*.patch -> applied at frameworks/base/
# vendor/pawlet/patches/packages/apps/Settings/*.patch -> applied at packages/apps/Settings/
dirs:
- vendor/pawlet/patches
# Optional: maps a patch subdirectory name to a different AOSP project path,
# for cases where the patch directory layout can't/shouldn't mirror the AOSP
# tree directly (e.g. grouping patches by Android version instead).
# mappings:
# android/36: frameworks/base