Re: [BuildStream] pip origin doesn't support plugins with same name



Hi,

Thanks for this suggestion, it's a pretty blatant design flaw on my end,
I was more concerned about whether we should think about allowing
multiple plugins with the same name accross different sources...

1. Separate entry point namespaces
----------------------------------
Under this solution, we would require all sources to be in
"buildstream.plugins.sources" namespace, and all elements to be in
"buildstream.plugins.elements" namespace.

This will mean an API break for _all_ external plugin
maintainers. They would need to change their `setup.py` files to
update the entry points accordingly.

I'd much rather see this option, since we're currently already breaking
plugin surfaces pretty significantly, but not breaking project surfaces
all that much.

It also strikes me as a nice computer-readable distinction that could be
used in the future, in case we need to distinguish between plugin and
element sources on a pip level or somesuch. A "_source"/"_element"
suffix to all names would be harder to use programmatically. This might
in fact end up cleaning up the plugin loading code as a side effect.

(We can keep supporting "buildstream.plugins" entrypoint as well but I
don't think quite like that idea, as it will likely increase confusion
for plugin authors.)

I also don't think this is necessary :)

Regards,

Tristan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]