This is an automated email from the ASF dual-hosted git repository. akitouni pushed a commit to branch abderrahim/buildstream-mirrors-merge3 in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 0c67dce624681e134a31804a32873551087ec63c Merge: 457845c59 f3578aa88 Author: Abderrahim Kitouni <[email protected]> AuthorDate: Thu Mar 28 14:53:12 2024 +0100 Merge branch 'abderrahim/junction-aliases' into abderrahim/buildstream-mirrors-merge3 src/buildstream/_project.py | 38 +++++++++++++++++++++++++++- src/buildstream/plugins/elements/junction.py | 20 ++++++++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --cc src/buildstream/_project.py index ac57a2523,3b64cc893..f174f233a --- a/src/buildstream/_project.py +++ b/src/buildstream/_project.py @@@ -238,8 -215,23 +239,19 @@@ class Project if url and utils._ALIAS_SEPARATOR in url: url_alias, url_body = url.split(utils._ALIAS_SEPARATOR, 1) - alias_url = config._aliases.get_str(url_alias, default=None) + alias_url = self.get_alias_url(url_alias, first_pass=first_pass) if alias_url: + if self.junction: + parent_project = self.junction._get_project() + parent_alias = self.junction.get_parent_alias(url_alias) + if parent_alias: + # Delegate translation to parent project + return parent_project.translate_url( + parent_alias + utils._ALIAS_SEPARATOR + url_body, first_pass=first_pass + ) + elif parent_project.disallow_subproject_uris: + return url + url = alias_url + url_body return url @@@ -423,7 -416,16 +443,16 @@@ if not alias or alias not in config._aliases: # pylint: disable=unsupported-membership-test return [None] + if self.junction: + parent_project = self.junction._get_project() + parent_alias = self.junction.get_parent_alias(alias) + if parent_alias: + # Delegate translation to parent project + return parent_project.get_alias_uris(parent_alias, first_pass=first_pass, tracking=tracking) + elif parent_project.disallow_subproject_uris: + return [None] + - uri_list = [] + uri_list: List[Union[SourceMirror, str]] = [] policy = self._context.track_source if tracking else self._context.fetch_source if policy in (_SourceUriPolicy.ALL, _SourceUriPolicy.MIRRORS) or (
