diff options
author | Darius Makovsky <traveltissues@protonmail.com> | 2019-11-05 16:51:49 +0000 |
---|---|---|
committer | Darius Makovsky <traveltissues@protonmail.com> | 2019-11-05 16:53:54 +0000 |
commit | 4925acae3c9506fcff74e2486271525ebf1e7159 (patch) | |
tree | 799dacbb5e88b7190231d553d5816d98bfd1e224 | |
parent | 6545e89323cdab10332da5c4328a22d350a62965 (diff) | |
download | buildstream-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.py | 18 |
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: |