Going through the docs, it seems it should be enou...
# plugins
c
Going through the docs, it seems it should be enough to add to
plugins
to register a published plugin, but my experience is that I also need to add it to
backend_packages
. Bug or feature?
h
c
Aahh… right. Did I miss that information in the docs, or is it just not there? Would be super helpful 🙂
h
It's not there - we haven't widely publicized plugins yet because the API is too unstable. Part of an exciting side effect of the push for supporting multiple languages (e.g. Docker, Terraform, Go, Java) is that it's pushing our APIs in good ways that will help us get closer to a stable API
c
Oh, ok, yeah I can see that makes sense. Thanks 😉 Edit: kind of. As there is documentation for how to create plugins, I don’t really see how this omission is helping limiting the spread…
I think the notice about the API being unstable is enough warning
h
I think the difference is publishing the plugin to PyPI where third-parties are now consuming your plugin, vs. an internal plugin that only your org needs to consume We do really want to build a plugin ecosystem for Pants, similar to Pytest and Flake8. But in the meantime to being more stable, we've been encouraging people to contribute directly to Pants itself so that we can be more confident the experience will be stable/good for end users depending on it (It may be worth revisiting that also)
👌 1
❤️ 1
c
That is a fair point, so perhaps a slip to mention the published plugins too, then? 😛
h
What do you mean a slip?
c
mistake
My reasoning is, that if you want to hold off on getting published plugins, don’t mention how to consume them either.
h
Ah, I see. Yeah, not sure we should be doing that atm. Or...probably better is still document it for completeness, but encourage plugin authors to add warnings to their READMEs that it's not stable?
1
c
My situation is a hybrid one, as I want to publish my plugin, so we can use it easily in all our projects, but I only do it internally, not for the wider community
That is, I publish it to a private registry.
I think documentation with warnings is a better way forward, than no documentation 🙂
1
Apart from asking for fat warnings in potential public plugins, it could also be, that you “require” them to not publish any plugins as 1.0 until the API is stable.
🤔 1
👍 1
FYI, just think that this snippet is more accurate to refer to: https://github.com/pantsbuild/pants/blob/1dacea9aa4fe1a07732635979406f61f9600901b/src/python/pants/init/extension_loader.py#L82-L99 😉 as the context for the other one was a bit confusing (although, I could certainly glean the required bits from it any way..)