From b308db1e2a982ae4158cb6fedd23d3d547bd09b0 Mon Sep 17 00:00:00 2001 From: LaMont Jones Date: Fri, 25 Feb 2022 17:05:21 +0000 Subject: [PATCH] manifest_xml: group for submanifest projects Add all projects in a submanifest to the group submanifest:: for ease in filtering. Change-Id: Ia6f01f9445f4f8d20fda3402f4d5821c43ceaf7f Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/331319 Tested-by: LaMont Jones Reviewed-by: Mike Frysinger --- docs/manifest-format.md | 3 +++ manifest_xml.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/docs/manifest-format.md b/docs/manifest-format.md index 7c0a7da9..6e671080 100644 --- a/docs/manifest-format.md +++ b/docs/manifest-format.md @@ -281,6 +281,9 @@ with the new settings needed. If not supplied the remote and project for this manifest will be used: `remote` cannot be supplied. +Projects from a submanifest and its submanifests are added to the +submanifest::path: group. + Attribute `manifest-name`: The manifest filename in the manifest project. If not supplied, `default.xml` is used. diff --git a/manifest_xml.py b/manifest_xml.py index 7a4eb1e8..fa3e1034 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -36,6 +36,8 @@ LOCAL_MANIFESTS_DIR_NAME = 'local_manifests' SUBMANIFEST_DIR = 'submanifests' # Limit submanifests to an arbitrary depth for loop detection. MAX_SUBMANIFEST_DEPTH = 8 +# Add all projects from sub manifest into a group. +SUBMANIFEST_GROUP_PREFIX = 'submanifest:' # Add all projects from local manifest into a group. LOCAL_MANIFEST_GROUP_PREFIX = 'local:' @@ -990,6 +992,8 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md self.branch = b parent_groups = self.parent_groups + if self.path_prefix: + parent_groups = f'{SUBMANIFEST_GROUP_PREFIX}:path:{self.path_prefix},{parent_groups}' # The manifestFile was specified by the user which is why we allow include # paths to point anywhere.