From 080877e41347b8987977fc8cc3ec90dcd149651a Mon Sep 17 00:00:00 2001 From: Raman Tenneti Date: Tue, 9 Mar 2021 15:19:06 -0800 Subject: superproject: pass groups to ToXml method. Added the following methods to XmlManifest class. + GetDefaultGroupsStr() - return 'default,platform-' + platform.system().lower() + GetGroupsStr() - Same as gitc_utils.py's _manifest_groups func. + Replaced gitc_utils.py's_manifest_groups calls with GetGroupsStr. + Used the above methods to get groups in command.py::GetProjects and part of init.py. TODO: clean up these funcs to take structured group data more instead of passing strings around everywhere that need parsing. Tested the code with the following commands. $ ./run_tests -v Tested the sync code by using repo_dev alias and pointing to this CL and verified prebuilts/fullsdk-linux directory has all the folders. Tested repo init and repo sync with --use-superproject and without --use-superproject argument. $ repo_dev init -u sso://android.git.corp.google.com/platform/manifest -b androidx-main --partial-clone --clone-filter=blob:limit=10M --repo-rev=main --use-superproject $ repo_dev sync -c -j32 Bug: [google internal] b/181804931 Bug: https://crbug.com/gerrit/13707 Change-Id: Ia98585cbfa3a1449710655af55d56241794242b6 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/299422 Reviewed-by: Jonathan Nieder Reviewed-by: Mike Frysinger Tested-by: Raman Tenneti --- manifest_xml.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'manifest_xml.py') diff --git a/manifest_xml.py b/manifest_xml.py index e96e0620..6d8fca1d 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -14,6 +14,7 @@ import itertools import os +import platform import re import sys import xml.dom.minidom @@ -604,6 +605,17 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md def HasSubmodules(self): return self.manifestProject.config.GetBoolean('repo.submodules') + def GetDefaultGroupsStr(self): + """Returns the default group string for the platform.""" + return 'default,platform-' + platform.system().lower() + + def GetGroupsStr(self): + """Returns the manifest group string that should be synced.""" + groups = self.manifestProject.config.GetString('manifest.groups') + if not groups: + groups = self.GetDefaultGroupsStr() + return groups + def _Unload(self): self._loaded = False self._projects = {} -- cgit v1.2.3-54-g00ecf