De-hack the bazel plugins
Massively reduces the complexity of the BazelElement
by subclassing from BuildElement
, we can do this now as we don't need to allow access to the network in the sandbox, thanks to.... the new BazelSource
plugin. This plugin imports a generated starlark file as a python module, as we can count on the repository resolved file to be compatible with python. This hack means that we don't have to do any nasty dependency resolution ourselves, and don't need to handle bazel's tendency to creating a pile of symlinks which we need to fix up manually. This also eliminates the need for host bazel, if such a file is given, although we do have an additional dependency on the requests python module.
Note that this version of the BuildElement is dependent upon https://gitlab.com/buildstream/buildstream/merge_requests/1694 being merged
Merge request reports
Activity
added 5 commits
Toggle commit listadded 1 commit
- ccb77739 - fixup! Use local manifest files for bazel elements
marked as a Work In Progress from ccb77739
added 6 commits
- d6069914 - Create a functioning bazel source transform plugin
- 21035352 - bazel.py: Subclass from BuildElement
- 06c4e929 - sources/bazel.py: Make tracking work
- 3a113135 - Use local manifest files for bazel elements
- 1e239553 - sources/bazel.py: Document source plugin nicely
- 00b97adc - sources/bazel.py: Allow manifests without .py ext
Toggle commit listmentioned in commit 2311f72d