summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2019-02-24 12:08:51 +0100
committerJürg Billeter <j@bitron.ch>2019-02-28 05:14:47 +0100
commit45caf7e18691bf5d68e94b6a167fc1672469ea79 (patch)
tree9d2b613ed47a1beda2be1639338a1f307112b2ff
parente11f66911c52ead8b8948b06e177b65fbcbf25ec (diff)
downloadbuildstream-45caf7e18691bf5d68e94b6a167fc1672469ea79.tar.gz
element.py: Use virtual artifact directory to stage dependencies
-rw-r--r--buildstream/element.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/buildstream/element.py b/buildstream/element.py
index cef31417a..c6ff90947 100644
--- a/buildstream/element.py
+++ b/buildstream/element.py
@@ -662,9 +662,8 @@ class Element(Plugin):
self.__assert_cached()
with self.timed_activity("Staging {}/{}".format(self.name, self._get_brief_display_key())):
- # Get the extracted artifact
- artifact_base, _ = self.__extract()
- artifact = os.path.join(artifact_base, 'files')
+ artifact_vdir, _ = self.__get_artifact_directory()
+ files_vdir = artifact_vdir.descend(['files'])
# Hard link it into the staging area
#
@@ -687,11 +686,11 @@ class Element(Plugin):
else:
link_filter = split_filter
- result = vstagedir.import_files(artifact, filter_callback=link_filter,
+ result = vstagedir.import_files(files_vdir, filter_callback=link_filter,
report_written=True, can_link=True)
if update_mtimes:
- copy_result = vstagedir.import_files(artifact, filter_callback=copy_filter,
+ copy_result = vstagedir.import_files(files_vdir, filter_callback=copy_filter,
report_written=True, update_mtime=True)
result = result.combine(copy_result)