diff options
author | Darius Makovsky <traveltissues@protonmail.com> | 2019-12-10 14:11:22 +0000 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2020-02-04 10:51:44 +0100 |
commit | 20e85785f5376a540d636658b45d6d5a3051caae (patch) | |
tree | a5a10fa354993fbd987c077ff8d65f6738d5127c | |
parent | 054ad1a7e687dda6103d2d1f654e9ad6854a706d (diff) | |
download | buildstream-20e85785f5376a540d636658b45d6d5a3051caae.tar.gz |
Support properties in import_files()
-rw-r--r-- | src/buildstream/storage/_casbaseddirectory.py | 2 | ||||
-rw-r--r-- | src/buildstream/storage/_filebaseddirectory.py | 9 | ||||
-rw-r--r-- | src/buildstream/storage/directory.py | 7 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/buildstream/storage/_casbaseddirectory.py b/src/buildstream/storage/_casbaseddirectory.py index 46984041e..bfa3f823e 100644 --- a/src/buildstream/storage/_casbaseddirectory.py +++ b/src/buildstream/storage/_casbaseddirectory.py @@ -356,7 +356,7 @@ class CasBasedDirectory(Directory): # content into this CasBasedDirectory using CAS-to-CAS import # to write the report, handle possible conflicts (if the target # directory is not empty) and apply the optional filter. - digest = self.cas_cache.import_directory(external_pathspec) + digest = self.cas_cache.import_directory(external_pathspec, properties=properties) external_pathspec = CasBasedDirectory(self.cas_cache, digest=digest) assert isinstance(external_pathspec, CasBasedDirectory) diff --git a/src/buildstream/storage/_filebaseddirectory.py b/src/buildstream/storage/_filebaseddirectory.py index 222b47979..95d113ec3 100644 --- a/src/buildstream/storage/_filebaseddirectory.py +++ b/src/buildstream/storage/_filebaseddirectory.py @@ -79,7 +79,14 @@ class FileBasedDirectory(Directory): return current_dir def import_files( - self, external_pathspec, *, filter_callback=None, report_written=True, update_mtime=False, can_link=False + self, + external_pathspec, + *, + filter_callback=None, + report_written=True, + update_mtime=False, + can_link=False, + properties=None ): """ See superclass Directory for arguments """ diff --git a/src/buildstream/storage/directory.py b/src/buildstream/storage/directory.py index 2d3dfd4da..c75157e8a 100644 --- a/src/buildstream/storage/directory.py +++ b/src/buildstream/storage/directory.py @@ -32,7 +32,7 @@ See also: :ref:`sandboxing`. """ -from typing import Callable, Optional, Union +from typing import Callable, Optional, Union, List from .._exceptions import BstError from ..exceptions import ErrorDomain @@ -83,7 +83,8 @@ class Directory: filter_callback: Optional[Callable[[str], bool]] = None, report_written: bool = True, update_mtime: bool = False, - can_link: bool = False + can_link: bool = False, + properties: Optional[List[str]] = None ) -> FileListResult: """Imports some or all files from external_path into this directory. @@ -104,6 +105,8 @@ class Directory: original files change. Setting this doesn't guarantee hard links will be made. can_link will never be used if update_mtime is set. + properties: Optional list of strings representing file properties + to capture when importing. Yields: A report of files imported and overwritten. |