summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarius Makovsky <traveltissues@protonmail.com>2019-11-05 16:51:49 +0000
committerDarius Makovsky <traveltissues@protonmail.com>2019-11-05 16:53:54 +0000
commit4925acae3c9506fcff74e2486271525ebf1e7159 (patch)
tree799dacbb5e88b7190231d553d5816d98bfd1e224
parent6545e89323cdab10332da5c4328a22d350a62965 (diff)
downloadbuildstream-traveltissues/1186-2.tar.gz
[WIP]source.py: do not call _get_unique_key outside of _generate_keytraveltissues/1186-2
-rw-r--r--src/buildstream/source.py18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/buildstream/source.py b/src/buildstream/source.py
index 5321363a4..10662a6f1 100644
--- a/src/buildstream/source.py
+++ b/src/buildstream/source.py
@@ -720,17 +720,11 @@ class Source(Plugin):
# Returns:
# the hash of the cas directory
def _stage_into_cas(self) -> str:
- # FIXME: this should not be called for sources with digests already set
- # since they will already have been staged into the cache. However,
- # _get_unique_key is sometimes called outside of _generate_key
- if self.__digest is None:
- cas_dir = CasBasedDirectory(self._get_context().get_cascache())
- self.stage(cas_dir)
- digest = cas_dir._get_digest()
- self.__digest = digest
- else:
- # XXX: an assignment to please mypy
- digest = self.__digest
+ assert self.__digest is None
+ cas_dir = CasBasedDirectory(self._get_context().get_cascache())
+ self.stage(cas_dir)
+ digest = cas_dir._get_digest()
+ self.__digest = digest
return digest.hash
# Wrapper around preflight() method
@@ -1062,7 +1056,7 @@ class Source(Plugin):
def _track(self, previous_sources: List['Source']) -> SourceRef:
if self.BST_KEY_REQUIRES_STAGE:
# ensure that these sources have a key after tracking
- self._get_unique_key()
+ self._generate_key(previous_sources)
return None
if self.BST_REQUIRES_PREVIOUS_SOURCES_TRACK: