From 24c0de16faec2b8b9bd6a03504ce951dc49afbe2 Mon Sep 17 00:00:00 2001 From: Abderrahim Kitouni Date: Mon, 28 Jan 2019 11:01:08 +0100 Subject: _project.py: use artifact caches from the parent project for junctions This makes a junction use the artifact cache of the parent project before the ones defined for the junction Fixes #401 --- buildstream/_artifactcache.py | 5 +---- buildstream/_project.py | 10 +++++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/buildstream/_artifactcache.py b/buildstream/_artifactcache.py index de63d30f1..5404dc12e 100644 --- a/buildstream/_artifactcache.py +++ b/buildstream/_artifactcache.py @@ -1046,8 +1046,5 @@ class ArtifactCache(): # A list of ArtifactCacheSpec instances describing the remote artifact caches. # def _configured_remote_artifact_cache_specs(context, project): - project_overrides = context.get_overrides(project.name) - project_extra_specs = ArtifactCache.specs_from_config_node(project_overrides) - return list(utils._deduplicate( - project_extra_specs + project.artifact_cache_specs + context.artifact_cache_specs)) + project.artifact_cache_specs + context.artifact_cache_specs)) diff --git a/buildstream/_project.py b/buildstream/_project.py index 3ec141d58..5f4389edb 100644 --- a/buildstream/_project.py +++ b/buildstream/_project.py @@ -549,7 +549,15 @@ class Project(): # # Load artifacts pull/push configuration for this project - self.artifact_cache_specs = ArtifactCache.specs_from_config_node(config, self.directory) + project_specs = ArtifactCache.specs_from_config_node(config, self.directory) + override_specs = ArtifactCache.specs_from_config_node( + self._context.get_overrides(self.name), self.directory) + + self.artifact_cache_specs = override_specs + project_specs + + if self.junction: + parent = self.junction._get_project() + self.artifact_cache_specs = parent.artifact_cache_specs + self.artifact_cache_specs # Load remote-execution configuration for this project project_specs = SandboxRemote.specs_from_config_node(config, self.directory) -- cgit v1.2.1