diff options
30 files changed, 120 insertions, 128 deletions
diff --git a/src/buildstream/_elementsources.py b/src/buildstream/_elementsources.py index 5fc412f6b..c030591f8 100644 --- a/src/buildstream/_elementsources.py +++ b/src/buildstream/_elementsources.py @@ -15,6 +15,8 @@ # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see <http://www.gnu.org/licenses/>. +import os +from contextlib import contextmanager from typing import TYPE_CHECKING, Iterator from . import _cachekey, utils @@ -48,10 +50,6 @@ class ElementSources: self._cache_key = None # Our cached cache key self._proto = None # The cached Source proto - # the index of the last source in this element that requires previous - # sources for staging - self._last_source_requires_previous_idx = None - # get_project(): # # Return the project associated with this object @@ -92,9 +90,15 @@ class ElementSources: # def track(self, workspace): refs = [] - for index, source in enumerate(self._sources): + for source in self._sources: old_ref = source.get_ref() - new_ref = source._track(self._sources[0:index]) + + if source.BST_REQUIRES_PREVIOUS_SOURCES_TRACK: + with self._stage_previous_sources(source) as staging_directory: + new_ref = source._track(previous_sources_dir=staging_directory) + else: + new_ref = source._track() + refs.append((source._unique_id, new_ref)) # Complimentary warning that the new ref will be unused. @@ -183,7 +187,14 @@ class ElementSources: # def init_workspace(self, directory: str): for source in self.sources(): - source._init_workspace(directory) + if source._directory: + srcdir = os.path.join(directory, source._directory) + else: + srcdir = directory + + os.makedirs(srcdir, exist_ok=True) + + source._init_workspace(srcdir) # fetch(): # @@ -210,13 +221,16 @@ class ElementSources: # # Args: # fetch_original (bool): Always fetch original source + # stop (Source): Only fetch sources listed before this source # # Raises: # SourceError: If one of the element sources has an error # - def fetch_sources(self, *, fetch_original=False): - previous_sources = [] + def fetch_sources(self, *, fetch_original=False, stop=None): for source in self._sources: + if source == stop: + break + if ( fetch_original or source.BST_REQUIRES_PREVIOUS_SOURCES_FETCH @@ -226,12 +240,10 @@ class ElementSources: # CAS-based source cache on its own. Fetch original source # if it's not in the plugin-specific cache yet. if not source._is_cached(): - source._fetch(previous_sources) + self._fetch_original_source(source) else: self._fetch_source(source) - previous_sources.append(source) - # get_unique_key(): # # Return something which uniquely identifies the combined sources of the @@ -246,7 +258,10 @@ class ElementSources: result = [] for source in self._sources: - result.append({"key": source._get_unique_key(), "name": source.get_kind()}) + key_dict = {"key": source._get_unique_key(), "name": source.get_kind()} + if source._directory: + key_dict["directory"] = source._directory + result.append(key_dict) return result @@ -389,34 +404,76 @@ class ElementSources: # Unable to fetch source from remote source cache, fall back to # fetching the original source. - source._fetch([]) + source._fetch() # Stage original source into the local CAS-based source cache self._sourcecache.commit(source) + # _fetch_source(): + # + # Fetch a single original source + # + # Args: + # source (Source): The source to fetch + # + def _fetch_original_source(self, source): + if source.BST_REQUIRES_PREVIOUS_SOURCES_FETCH: + with self._stage_previous_sources(source) as staging_directory: + source._fetch(previous_sources_dir=staging_directory) + else: + source._fetch() + # _stage(): # # Stage the element sources # - def _stage(self): + # Args: + # stop (Source): Only stage sources listed before this source + # + def _stage(self, *, stop=None): vdir = CasBasedDirectory(self._context.get_cascache()) for source in self._sources: + if source == stop: + break + + if source._directory: + vsubdir = vdir.descend(*source._directory.split(os.sep), create=True) + else: + vsubdir = vdir + if source.BST_REQUIRES_PREVIOUS_SOURCES_FETCH or source.BST_REQUIRES_PREVIOUS_SOURCES_STAGE: if source.BST_STAGE_VIRTUAL_DIRECTORY: - source._stage(vdir) + source._stage(vsubdir) else: with utils._tempdir(dir=self._context.tmpdir, prefix="staging-temp") as tmpdir: # Stage previous sources - vdir.export_files(tmpdir) + vsubdir.export_files(tmpdir) source._stage(tmpdir) # Capture modified tree - vdir._clear() - vdir.import_files(tmpdir) + vsubdir._clear() + vsubdir.import_files(tmpdir) else: source_dir = self._sourcecache.export(source) - vdir.import_files(source_dir) + vsubdir.import_files(source_dir) return vdir + + # Context manager that stages sources in a cas based or temporary file + # based directory + @contextmanager + def _stage_previous_sources(self, source): + self.fetch_sources(stop=source) + vdir = self._stage(stop=source) + + if source._directory: + vdir = vdir.descend(*source._directory.split(os.sep), create=True) + + if source.BST_STAGE_VIRTUAL_DIRECTORY: + yield vdir + else: + with source.tempdir() as tempdir: + vdir.export_files(tempdir) + yield tempdir diff --git a/src/buildstream/source.py b/src/buildstream/source.py index d7e6021bc..245c3ca99 100644 --- a/src/buildstream/source.py +++ b/src/buildstream/source.py @@ -164,7 +164,7 @@ from typing import Iterable, Iterator, Optional, Tuple, TYPE_CHECKING from . import _yaml, utils from .node import MappingNode from .plugin import Plugin -from .types import SourceRef, Union, List +from .types import SourceRef, Union from ._exceptions import BstError, ImplError, PluginError from .exceptions import ErrorDomain from ._loader.metasource import MetaSource @@ -172,7 +172,7 @@ from ._projectrefs import ProjectRefStorage from ._cachekey import generate_key from .storage import CasBasedDirectory from .storage import FileBasedDirectory -from .storage.directory import Directory, VirtualDirectoryError +from .storage.directory import Directory from ._variables import Variables if TYPE_CHECKING: @@ -341,7 +341,7 @@ class Source(Plugin): self.__element_index = meta.element_index # The index of the source in the owning element's source list self.__element_kind = meta.element_kind # The kind of the element owning this source - self.__directory = meta.directory # Staging relative directory + self._directory = meta.directory # Staging relative directory self.__variables = variables # The variables used to resolve the source's config self.__key = None # Cache key for source @@ -784,15 +784,11 @@ class Source(Plugin): # Wrapper function around plugin provided fetch method # # Args: - # previous_sources (list): List of Sources listed prior to this source - # fetch_original (bool): whether to fetch full source, or use local CAS + # previous_sources_dir (str): directory where previous sources are staged # - def _fetch(self, previous_sources): - + def _fetch(self, previous_sources_dir=None): if self.BST_REQUIRES_PREVIOUS_SOURCES_FETCH: - self.__ensure_previous_sources(previous_sources) - with self.__stage_previous_sources(previous_sources) as staging_directory: - self.__do_fetch(previous_sources_dir=self.__ensure_directory(staging_directory)) + self.__do_fetch(previous_sources_dir=previous_sources_dir) else: self.__do_fetch() @@ -817,8 +813,6 @@ class Source(Plugin): # 'directory' option # def _stage(self, directory): - directory = self.__ensure_directory(directory) - if self.BST_KEY_REQUIRES_STAGE: # _get_unique_key should be called before _stage assert self.__digest is not None @@ -833,8 +827,6 @@ class Source(Plugin): if self.BST_STAGE_VIRTUAL_DIRECTORY: directory = FileBasedDirectory(external_directory=directory) - directory = self.__ensure_directory(directory) - self.validate_cache() self.init_workspace(directory) @@ -843,13 +835,10 @@ class Source(Plugin): # Wrapper for get_unique_key() api # def _get_unique_key(self): - key = {} - key["directory"] = self.__directory if self.BST_KEY_REQUIRES_STAGE: - key["unique"] = self._stage_into_cas() + return self._stage_into_cas() else: - key["unique"] = self.get_unique_key() # pylint: disable=assignment-from-no-return - return key + return self.get_unique_key() # _project_refs(): # @@ -1089,18 +1078,16 @@ class Source(Plugin): # Wrapper for track() # # Args: - # previous_sources (list): List of Sources listed prior to this source + # previous_sources_dir (str): directory where previous sources are staged # - def _track(self, previous_sources: List["Source"]) -> SourceRef: + def _track(self, previous_sources_dir: str = None) -> SourceRef: if self.BST_KEY_REQUIRES_STAGE: # ensure that these sources have a key after tracking - self._get_unique_key() + self._generate_key() return None if self.BST_REQUIRES_PREVIOUS_SOURCES_TRACK: - self.__ensure_previous_sources(previous_sources) - with self.__stage_previous_sources(previous_sources) as staging_directory: - new_ref = self.__do_track(previous_sources_dir=self.__ensure_directory(staging_directory)) + new_ref = self.__do_track(previous_sources_dir=previous_sources_dir) else: new_ref = self.__do_track() @@ -1116,6 +1103,8 @@ class Source(Plugin): # Save ref in local process for subsequent sources self._set_ref(new_ref, save=False) + self._generate_key() + return new_ref # _is_trackable() @@ -1206,7 +1195,7 @@ class Source(Plugin): self.__element_kind, self.get_kind(), self.__config, - self.__directory, + self._directory, self.__first_pass, ) @@ -1221,24 +1210,6 @@ class Source(Plugin): return clone - # Context manager that stages sources in a cas based or temporary file - # based directory - @contextmanager - def __stage_previous_sources(self, sources): - with self.tempdir() as tempdir: - directory = FileBasedDirectory(external_directory=tempdir) - - for src in sources: - if src.BST_STAGE_VIRTUAL_DIRECTORY: - src._stage(directory) - else: - src._stage(tempdir) - - if self.BST_STAGE_VIRTUAL_DIRECTORY: - yield directory - else: - yield tempdir - # Tries to call fetch for every mirror, stopping once it succeeds def __do_fetch(self, **kwargs): project = self._get_project() @@ -1341,31 +1312,6 @@ class Source(Plugin): return ref raise last_error - # Ensures a fully constructed path and returns it - def __ensure_directory(self, directory): - - if not isinstance(directory, Directory): - if self.__directory is not None: - directory = os.path.join(directory, self.__directory.lstrip(os.sep)) - - try: - os.makedirs(directory, exist_ok=True) - except OSError as e: - raise SourceError( - "Failed to create staging directory: {}".format(e), reason="ensure-stage-dir-fail" - ) from e - - else: - if self.__directory is not None: - try: - directory = directory.descend(*self.__directory.lstrip(os.sep).split(os.sep), create=True) - except VirtualDirectoryError as e: - raise SourceError( - "Failed to descend into staging directory: {}".format(e), reason="ensure-stage-dir-fail" - ) from e - - return directory - @classmethod def __init_defaults(cls, project, meta): if cls.__defaults is None: @@ -1388,17 +1334,6 @@ class Source(Plugin): return config - # Ensures that previous sources have been tracked and fetched. - # - def __ensure_previous_sources(self, previous_sources): - for index, src in enumerate(previous_sources): - # BuildStream should track sources in the order they appear so - # previous sources should never be in an inconsistent state - assert src.is_resolved() - - if not src._is_cached(): - src._fetch(previous_sources[0:index]) - def _extract_alias(url): parts = url.split(utils._ALIAS_SEPARATOR, 1) diff --git a/tests/cachekey/project/elements/build1.expected b/tests/cachekey/project/elements/build1.expected index ea0e6149b..71113a494 100644 --- a/tests/cachekey/project/elements/build1.expected +++ b/tests/cachekey/project/elements/build1.expected @@ -1 +1 @@ -c1fe5551061270c60ef2eb9c1953f5beb8ff0527f4901acdcc22432c5e7ad4d9
\ No newline at end of file +99eb5ee7e7b93f1f9e4abfd2b392ed3b9746aeebc74f9239e5e0ca3ca444ab47
\ No newline at end of file diff --git a/tests/cachekey/project/elements/build2.expected b/tests/cachekey/project/elements/build2.expected index 4b63a3f98..10d60050d 100644 --- a/tests/cachekey/project/elements/build2.expected +++ b/tests/cachekey/project/elements/build2.expected @@ -1 +1 @@ -4caa10b4218f57141c1ab917f0fcd70941924638e4f49762a03bba5b26f5a595
\ No newline at end of file +9458b71a2054df6ca3d1ce9df2090649b1416a368e41ae40bfa0cc52f5efb05e
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose1.expected b/tests/cachekey/project/elements/compose1.expected index e1977f0d5..fd0ca75fd 100644 --- a/tests/cachekey/project/elements/compose1.expected +++ b/tests/cachekey/project/elements/compose1.expected @@ -1 +1 @@ -8b7347f544092fd32ad6521f13410fa81f2bae5167f00ea512c0969cf5d7b48b
\ No newline at end of file +3a033cd6b00a0b7e113f2f78f67e73923bdadad33e7d8825fabb0e75f0386417
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose2.expected b/tests/cachekey/project/elements/compose2.expected index f4b02be6d..5ab72fe76 100644 --- a/tests/cachekey/project/elements/compose2.expected +++ b/tests/cachekey/project/elements/compose2.expected @@ -1 +1 @@ -c6dbef79391a184499557e951cb168062b3eda7cdffe81c4984472b6a3d74339
\ No newline at end of file +ec2cf079f662a497af5687d2458489fe3ad83810a2db1815ea489fb30f416fc9
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose3.expected b/tests/cachekey/project/elements/compose3.expected index d2a987420..5a6620a09 100644 --- a/tests/cachekey/project/elements/compose3.expected +++ b/tests/cachekey/project/elements/compose3.expected @@ -1 +1 @@ -474a2615be874dae877b54cce5a6f8fea2c02225219abeb14519c848b71c37cc
\ No newline at end of file +d24fd1c4beca8b40aad24e8bd4a6106e1278e193b10872e1ed33b0829eb4831a
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose4.expected b/tests/cachekey/project/elements/compose4.expected index cbb10d163..2c4ab4c48 100644 --- a/tests/cachekey/project/elements/compose4.expected +++ b/tests/cachekey/project/elements/compose4.expected @@ -1 +1 @@ -71a9dcafacbc0ed1eb9564b2d9c3943a5d46879cff11fdc0689e72c29e947c99
\ No newline at end of file +37dd09028bd0a95e64b83df32a1446932f81a72c4c9a6a2cac5c0165ac61e29b
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose5.expected b/tests/cachekey/project/elements/compose5.expected index 0ea43e3ce..425c55e96 100644 --- a/tests/cachekey/project/elements/compose5.expected +++ b/tests/cachekey/project/elements/compose5.expected @@ -1 +1 @@ -0686d70ec2a631eabf958ad1a7e82bb2920942a1359615229318244339404c23
\ No newline at end of file +4f2eea4571545a5ce896b13320aa7e6c55ca874237fcb7ebeea017f8456e1b5c
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import1.expected b/tests/cachekey/project/elements/import1.expected index b5057db9f..d9e854ed6 100644 --- a/tests/cachekey/project/elements/import1.expected +++ b/tests/cachekey/project/elements/import1.expected @@ -1 +1 @@ -93dc103c1ee3bc274c0eb890d3bbfadf2ce1f9ecbd4afee6b61214e767328611
\ No newline at end of file +f27187b2e1b43a5d4d1855fc46fabe256d561d49d6aff2186a52d4d75315fe19
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import2.expected b/tests/cachekey/project/elements/import2.expected index f8959f981..263684b4e 100644 --- a/tests/cachekey/project/elements/import2.expected +++ b/tests/cachekey/project/elements/import2.expected @@ -1 +1 @@ -20e3392d96420c5313b6ea9a008b3bedf019b391f7d791bdd60fae6bbf71e5fc
\ No newline at end of file +815467a6401a32162cfbcff05f11ff366f9f2d11338bc89d9cf41715da7db89c
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import3.expected b/tests/cachekey/project/elements/import3.expected index b5f400086..24d6a031e 100644 --- a/tests/cachekey/project/elements/import3.expected +++ b/tests/cachekey/project/elements/import3.expected @@ -1 +1 @@ -9e719da7bf09081c218ef1b5613a65b58a8478e5f46f937a81e241cab4247da5
\ No newline at end of file +3fef8b7e07efe9b9599e32ce72b1f0f8ab31accd61788c94c57951770ab184c2
\ No newline at end of file diff --git a/tests/cachekey/project/elements/script1.expected b/tests/cachekey/project/elements/script1.expected index 7374fe9e5..71be17a37 100644 --- a/tests/cachekey/project/elements/script1.expected +++ b/tests/cachekey/project/elements/script1.expected @@ -1 +1 @@ -f11de354ac71ab209a0515686ae609a813d31855f50536ee1cf93a0851dde64c
\ No newline at end of file +38078af3714d6d5128669dc7b4d7e942a46ea4137c388d44a1f455b4cc1918d0
\ No newline at end of file diff --git a/tests/cachekey/project/sources/bzr1.expected b/tests/cachekey/project/sources/bzr1.expected index 912b3a8a1..4e66d6c12 100644 --- a/tests/cachekey/project/sources/bzr1.expected +++ b/tests/cachekey/project/sources/bzr1.expected @@ -1 +1 @@ -e485371c3d3055b8d9666a4be231b0eb6747145d9c83954dd95a2df25b40b152
\ No newline at end of file +ce45db2c82a50eec39416dc857c7a676121a5276b396ea6c7917b123a932ea34
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git1.expected b/tests/cachekey/project/sources/git1.expected index d7628ee2a..7c6974590 100644 --- a/tests/cachekey/project/sources/git1.expected +++ b/tests/cachekey/project/sources/git1.expected @@ -1 +1 @@ -79acaa26ea2cc8bd1ffaee92d88f3a2043390d2d5ba8528f397949b08e454d5f
\ No newline at end of file +f02ac8cc516819ee72f56bdc3c1a6e4bb3a154a506a361a8d34a63b37dfa8dc7
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git2.expected b/tests/cachekey/project/sources/git2.expected index 034a4519d..4fa7db829 100644 --- a/tests/cachekey/project/sources/git2.expected +++ b/tests/cachekey/project/sources/git2.expected @@ -1 +1 @@ -9e3ea2835e29ca4a66f750126a0d64636fcc36744057be485d62d940d41dbf84
\ No newline at end of file +59964ee437e38e37dbbb78362118937e90defd89bdf358667394a35f6ed2ba46
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git3.expected b/tests/cachekey/project/sources/git3.expected index 7f14d4853..91cb0f882 100644 --- a/tests/cachekey/project/sources/git3.expected +++ b/tests/cachekey/project/sources/git3.expected @@ -1 +1 @@ -5dbc9678d2745acfb147c32cd8c68ad6919aa6004cb8a3d635a7ac47da9c8437
\ No newline at end of file +10dd7b3883cfe8fd8f7f29dd258098080227ee73c53ff825542d62d204f1e6c3
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local1.expected b/tests/cachekey/project/sources/local1.expected index b9a130cf9..961785aa5 100644 --- a/tests/cachekey/project/sources/local1.expected +++ b/tests/cachekey/project/sources/local1.expected @@ -1 +1 @@ -64ff0a8d320d3a7c3bf27a5a0a897f1ef0854d38721f92fdbecb03b1029b9c2d
\ No newline at end of file +13acaa66115bd1d374b236b0ddd2cef804df75b3aa28878f4200efa7c758b14c
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local2.expected b/tests/cachekey/project/sources/local2.expected index 1e216c2cc..762e7bc48 100644 --- a/tests/cachekey/project/sources/local2.expected +++ b/tests/cachekey/project/sources/local2.expected @@ -1 +1 @@ -c2274d309979d7f3f13a27aae65088e8348aec7b818096a42daa8253387bbde0
\ No newline at end of file +214238ba50ead82896e27d95e833c3df990f9e3ab728fdb0e44a3b07f986ab3c
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch1.expected b/tests/cachekey/project/sources/patch1.expected index e08887415..4593895c5 100644 --- a/tests/cachekey/project/sources/patch1.expected +++ b/tests/cachekey/project/sources/patch1.expected @@ -1 +1 @@ -b26ee38a5bba930fd3161ffa4e86c72cffe3eee4d6ed863587dafa7dae19275a
\ No newline at end of file +3b607c5657b600ab0e2c8b5ea09ed26fc65b3899b67d107676cf687b2cde374d
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch2.expected b/tests/cachekey/project/sources/patch2.expected index 6840ca3c6..221c9c779 100644 --- a/tests/cachekey/project/sources/patch2.expected +++ b/tests/cachekey/project/sources/patch2.expected @@ -1 +1 @@ -44c701a3beb5ee91d8f10749ee9081ddc808567a84905d8e3f3d56357b98be14
\ No newline at end of file +1911adbe62cbd7d9f0ded708530274c7f591798bd0a0b5f7e8358f7fcda3066a
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch3.expected b/tests/cachekey/project/sources/patch3.expected index ccb8595fa..1ad6d9fce 100644 --- a/tests/cachekey/project/sources/patch3.expected +++ b/tests/cachekey/project/sources/patch3.expected @@ -1 +1 @@ -08a0ef6633022338ac29c51d645bb1f38d31416541e7faa21740b31a1be04dc8
\ No newline at end of file +175ff52608a55a6af98466822e22f401c46b2659116ccfeee6dc78e09249da78
\ No newline at end of file diff --git a/tests/cachekey/project/sources/pip1.expected b/tests/cachekey/project/sources/pip1.expected index 5c3843182..59f11863b 100644 --- a/tests/cachekey/project/sources/pip1.expected +++ b/tests/cachekey/project/sources/pip1.expected @@ -1 +1 @@ -d5232928f6420fd95a07cc268f8e3eeb3562fc1162bdb96acc8ea44cc459cc76
\ No newline at end of file +20ac777cc56dfeafcf4543e0d9ed31108b32075c8a3e9d25d3deec16fbf7f246
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote1.expected b/tests/cachekey/project/sources/remote1.expected index 1bcc4fde0..9970589f3 100644 --- a/tests/cachekey/project/sources/remote1.expected +++ b/tests/cachekey/project/sources/remote1.expected @@ -1 +1 @@ -9ce089870d66b6ec5dc7a4686b04af00db9c04adab521aecec067419e83701ab
\ No newline at end of file +4d13955e7eeb0f0d77b0a3a72e77acd8636bdc8284712975593742d0667f88f7
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote2.expected b/tests/cachekey/project/sources/remote2.expected index 6ceb4ae83..139e4bf74 100644 --- a/tests/cachekey/project/sources/remote2.expected +++ b/tests/cachekey/project/sources/remote2.expected @@ -1 +1 @@ -14544535e10cc377fb2443e3e87025dce1c0be03f7a69b3a0a6fe1a7af7191b3
\ No newline at end of file +5f904fd43ca49f268af3141afe73116f1260800918a738afeaf51a94f99fffb2
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar1.expected b/tests/cachekey/project/sources/tar1.expected index e686318ea..89a492067 100644 --- a/tests/cachekey/project/sources/tar1.expected +++ b/tests/cachekey/project/sources/tar1.expected @@ -1 +1 @@ -f04fd7f059d136021c306b89130802c81e3baf8103ab9e84fe20a3af28815693
\ No newline at end of file +f516c30a7a493acd74e49c4ac91cf697dfd32e8821d4230becac100cdac7df64
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar2.expected b/tests/cachekey/project/sources/tar2.expected index 3b25c45f5..e9928d767 100644 --- a/tests/cachekey/project/sources/tar2.expected +++ b/tests/cachekey/project/sources/tar2.expected @@ -1 +1 @@ -bf581c0f1724b1a574dfa5ffaadc096db4b8f80a0f9b337cf6a867d12dfd6ecd
\ No newline at end of file +eba29361b50cf14128dbf34362635bc2170474c8bb13c916638b2531174bf04a
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip1.expected b/tests/cachekey/project/sources/zip1.expected index 3b41d3c42..41292f2a2 100644 --- a/tests/cachekey/project/sources/zip1.expected +++ b/tests/cachekey/project/sources/zip1.expected @@ -1 +1 @@ -eddd2c6bcf2f805874d7a852a18eccaa9c9c5006ccf1e44e2389908f3beb16a0
\ No newline at end of file +a759e15073fdeed9224e41af4c094464e268bb8ced95dedf6e6dc35ec524d003
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip2.expected b/tests/cachekey/project/sources/zip2.expected index da524df15..e723f4852 100644 --- a/tests/cachekey/project/sources/zip2.expected +++ b/tests/cachekey/project/sources/zip2.expected @@ -1 +1 @@ -d236514ddd135f2fdc81a2cb1912aef66fb7b0c616e3a652f81d4b61592baf02
\ No newline at end of file +d9c5a347340a387c4cecf24c29ad4b3c524773e8224683380221a62ec820abd9
\ No newline at end of file diff --git a/tests/cachekey/project/target.expected b/tests/cachekey/project/target.expected index 887bc59b9..38d4abeef 100644 --- a/tests/cachekey/project/target.expected +++ b/tests/cachekey/project/target.expected @@ -1 +1 @@ -e51a1db8dc54b50c92a9a18d505d2d580854a6f6dae346ed5f89310775233ab4
\ No newline at end of file +5bf8ea2d6c0900c226c8fd3dae980f0b92e40f3fc1887b64d31bf04b6210d763
\ No newline at end of file |