diff options
author | Jim MacArthur <jim.macarthur@codethink.co.uk> | 2018-05-08 16:27:45 +0100 |
---|---|---|
committer | Jim MacArthur <jim.macarthur@codethink.co.uk> | 2018-08-01 13:07:33 +0100 |
commit | e69f2b233a76c664d04996c0a8a2651915a60d99 (patch) | |
tree | 8243703ac24def8e6eb9decc6c38a389d1168c87 | |
parent | 4e6a9049ff2913ba812068ea91d962d1d39ea61a (diff) | |
download | buildstream-e69f2b233a76c664d04996c0a8a2651915a60d99.tar.gz |
plugins/elements/stack.py: Convert to virtual directories
-rw-r--r-- | buildstream/plugins/elements/stack.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/buildstream/plugins/elements/stack.py b/buildstream/plugins/elements/stack.py index 087d4dac0..138afedf7 100644 --- a/buildstream/plugins/elements/stack.py +++ b/buildstream/plugins/elements/stack.py @@ -24,13 +24,15 @@ Stack elements are simply a symbolic element used for representing a logical group of elements. """ -import os from buildstream import Element # Element implementation for the 'stack' kind. class StackElement(Element): + # This plugin has been modified to avoid the use of Sandbox.get_directory + BST_VIRTUAL_DIRECTORY = True + def configure(self, node): pass @@ -52,7 +54,7 @@ class StackElement(Element): # Just create a dummy empty artifact, its existence is a statement # that all this stack's dependencies are built. - rootdir = sandbox.get_directory() + vrootdir = sandbox.get_virtual_directory() # XXX FIXME: This is currently needed because the artifact # cache wont let us commit an empty artifact. @@ -61,10 +63,7 @@ class StackElement(Element): # the actual artifact data in a subdirectory, then we # will be able to store some additional state in the # artifact cache, and we can also remove this hack. - outputdir = os.path.join(rootdir, 'output', 'bst') - - # Ensure target directory parent - os.makedirs(os.path.dirname(outputdir), exist_ok=True) + vrootdir.descend(['output', 'bst'], create=True) # And we're done return '/output' |