Hi,
On Fri, 2020-07-03 at 08:38 +0100, Darius Makovsky wrote:
> Hi Ben,
>
[...]
> > Will it mean that plugin authors might not be able to write their
> > plugin the easiest way? Possible, however, that's were as a
> > community we need good examples and documentation on how to do
> > "those special things".
> >
>
> I agree. I just wanted to emphasize that I don't think it would be a
> case of simply forbidding certain things from happening (in whatever
> way is decided is best). However the way I think it's best to make it
> as simple as practical for a user.
I think that for the most part, we do have the right tools to get the
job done already.
One thing that appears to have been overlooked in some of these
plugins, is that one can stage dependency graphs multiple times into
multiple locations in the sandbox.
> > Moreover, at least for all the 'packaging' plugins, we would just
> > not need to do anything outside the sandbox anymore.
>
> OK, how do you see this working in the example of the bazelize
> plugin? Do you mean that this plugin would be a source kind instead?
Bazelize might fall into the more uncharted territory.
In terms of 'packaging' plugins, like tar/oci/docker, you really only
need to have tools like `tar` around in the sandbox to use in order to
compose output from a payload staged into a separate subdirectory.
For bazelize we might need to add something more to expose BuildStream
level metadata into the sandbox so that sandboxed tools can process
them, without host code composing/formatting any metadata manually - I
don't know the details of bazelize well enough but I'm aware we have a
shortcoming in this regard and bazelize probably falls into this
category.
Cheers,
-Tristan