summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildstream/_artifactcache.py7
-rw-r--r--buildstream/_project.py10
2 files changed, 11 insertions, 6 deletions
diff --git a/buildstream/_artifactcache.py b/buildstream/_artifactcache.py
index 48ab278c4..5404dc12e 100644
--- a/buildstream/_artifactcache.py
+++ b/buildstream/_artifactcache.py
@@ -467,7 +467,7 @@ class ArtifactCache():
# on_failure (callable): Called if we fail to contact one of the caches.
#
def initialize_remotes(self, *, on_failure=None):
- remote_specs = self.global_remote_specs
+ remote_specs = list(self.global_remote_specs)
for project in self.project_remote_specs:
remote_specs += self.project_remote_specs[project]
@@ -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)