summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbst-marge-bot <marge-bot@buildstream.build>2019-07-03 11:14:50 +0000
committerbst-marge-bot <marge-bot@buildstream.build>2019-07-03 11:14:50 +0000
commit1be4a7f1ea65af2f8ee6391a01a14dc685f5be26 (patch)
tree24c2503b9f5c4b7f23cba1f2cab650ff9b333069
parent1a34455def3493a3568bede27443a0b9a1e8fcd1 (diff)
parentc66676efa109ac3caee9458a446ac775b58e7fc3 (diff)
downloadbuildstream-1be4a7f1ea65af2f8ee6391a01a14dc685f5be26.tar.gz
Merge branch 'juerg/sourcecache' into 'master'
element.py: Do not implicitly import sources into source cache See merge request BuildStream/buildstream!1446
-rw-r--r--src/buildstream/_loader/loader.py2
-rw-r--r--src/buildstream/element.py6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/buildstream/_loader/loader.py b/src/buildstream/_loader/loader.py
index fa3539b22..5f98b127c 100644
--- a/src/buildstream/_loader/loader.py
+++ b/src/buildstream/_loader/loader.py
@@ -622,7 +622,7 @@ class Loader():
# Handle the case where a subproject needs to be fetched
#
- if element._get_consistency() == Consistency.RESOLVED:
+ if element._get_consistency() >= Consistency.RESOLVED and not element._source_cached():
if ticker:
ticker(filename, 'Fetching subproject')
self._fetch_subprojects([element])
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index 60aefecad..fa4f63bff 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -1466,8 +1466,8 @@ class Element(Plugin):
# No workspace or cached buildtree, stage source from source cache
else:
- # Ensure sources are cached
- self.__cache_sources()
+ # Assert sources are cached
+ assert self._source_cached()
if self.__sources:
@@ -2225,7 +2225,7 @@ class Element(Plugin):
# Check if sources are cached, generating the source key if it hasn't been
def _source_cached(self):
- if self.__sources:
+ if self.__sources and not self._get_workspace():
sourcecache = self._get_context().sourcecache
# Go through sources we'll cache generating keys