From d0612f5768bc2e1d24d1c5eedee2eae7e34b61e1 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Fri, 21 Apr 2023 22:34:05 +0200 Subject: [PATCH] roomservice: Read all local manifests Change-Id: Idfe6330ff82b9e4c0d11cb0320defa7bf44121f5 --- build/tools/roomservice.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/build/tools/roomservice.py b/build/tools/roomservice.py index bf8f1f0a..5baa6c5b 100755 --- a/build/tools/roomservice.py +++ b/build/tools/roomservice.py @@ -17,6 +17,7 @@ from __future__ import print_function import base64 +import glob import json import netrc import os @@ -129,28 +130,30 @@ def get_default_revision(): return r.replace('refs/heads/', '').replace('refs/tags/', '') def get_from_manifest(devicename): - try: - lm = ElementTree.parse(".repo/local_manifests/roomservice.xml") - lm = lm.getroot() - except: - lm = ElementTree.Element("manifest") + for path in glob.glob(".repo/local_manifests/*.xml"): + try: + lm = ElementTree.parse(path) + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") - for localpath in lm.findall("project"): - if re.search("android_device_.*_%s$" % device, localpath.get("name")): - return localpath.get("path") + for localpath in lm.findall("project"): + if re.search("android_device_.*_%s$" % device, localpath.get("name")): + return localpath.get("path") return None def is_in_manifest(projectpath): - try: - lm = ElementTree.parse(".repo/local_manifests/roomservice.xml") - lm = lm.getroot() - except: - lm = ElementTree.Element("manifest") + for path in glob.glob(".repo/local_manifests/*.xml"): + try: + lm = ElementTree.parse(path) + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") - for localpath in lm.findall("project"): - if localpath.get("path") == projectpath: - return True + for localpath in lm.findall("project"): + if localpath.get("path") == projectpath: + return True # Search in main manifest, too try: