and I was also wondering if someone decides to add...
# development
w
and I was also wondering if someone decides to add support to a set of goals/targets, e.g.:
docker
/`docker-compose` if that would be easy to share as a separate package, sort of how
pytest
has it's own ecosystem with a bunch of other libraries that can be added as needed... That's just a thought that came across when I was thinking about maybe someone will want to add support to something that the pants community might not find that it fits / should live inside a "vanilla" pants and then they could still do it on their own repo.
h
You would activate it by adding
pants.backend.docker
to your
backend_packages
option. Is this what you mean?
w
but what if it was my library? For instance on my github:
thamenato/pants-docker
and that's something that I make available on pypi with the name of
pants-docker
I was thinking something like when you install
pytest
with pip and then you'd install
pytest-bdd
or any other pytest package that extends it somehow
h
ohh I misread what you meant. We would absolutely love to have an ecosystem like Pytest, where you can publish your own plugins. This is possible with the
plugins
option. Adding something will download from PyPI and activate its backend package. but we don’t document that because there’s some infrastructure we still need to design. The biggest challenging is versioning. The Plugin API is not yet stable, so it’s not guaranteed a plugin written in 2.0.0 will work with Pants 2.1.0. Ideally, a plugin author can express which version(s) they’re compatible with. @chilly-magazine-21545 has an interesting proposal at https://github.com/pantsbuild/pants/issues/10671
💯 1
f
that reminds me that i should share my docker plugin as a gist
❤️ 2
i'll publish it to pypi too as soon as i have a compatibility mechanism
w
@flat-zoo-31952 that be amazing! I feel like for stuff such as
docker
and a couple of other CI tools folks might already have their own solution and having this way of sharing it and making that plugin better with open source would be the way to go.
f
checkout #plugins, i just posted the link there