diff options
author | Darius Makovsky <traveltissues@protonmail.com> | 2019-09-05 14:22:19 +0100 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-09-24 15:58:25 +0000 |
commit | a8ca9fcb41e1095e04cc40f1ef09700ad70a3dc0 (patch) | |
tree | 04d5e81e8e4d8e08d18dfc84eaef99077e31aa4b /src/buildstream/_project.py | |
parent | 3247014d07a66b98ac28f1b2a7aa8658661cb4ea (diff) | |
download | buildstream-a8ca9fcb41e1095e04cc40f1ef09700ad70a3dc0.tar.gz |
workspace.py: add workspace source plugin
The `workspace.init_workspace()` call should wrap
`source._init_workspace` for held sources to support those sources not
publishing `BST_VIRTUAL_DIRECTORY`
This object owns a directory digest attribute used inplace of the source
ref.
`track` and `fetch` become noop methods and the workspace is imported
into the CAS in the call to `get_unique_key` which also sets the digest
attribute and owns that Directory object. The directory is referenced
during stage to import directly to the virtual directory object.
Importing is expected to be expensive and will be
optimised in future.
When the unique key is retrieved for the workspace source it will also
be commited to the sourcecache. The logic for this source is still a
slight variant on other sources since it cannot itself be expected to
be in the cache when it's opened.
In the source preflight method the preflights of the held sources must
be called.
Diffstat (limited to 'src/buildstream/_project.py')
0 files changed, 0 insertions, 0 deletions