Hi! I've seen some references to an upcoming ansib...
# general
c
Hi! I've seen some references to an upcoming ansible plugin, and I found @wide-midnight-78598's experimental implementation which has not seen commits for a while now. Is there a plan to finish the job, or is it basically done?
w
@careful-address-89803 and I had been messing around with it. I think he made more progress than I did. Personally, I was waiting on the new
deploy
goal, which I think has been released for a while now. I want to pick this one back up because I use ansible in a lot of my projects, but am side-tracked with some other tickets that I would like to clear out of my queue before adding another new backend
I/We’d appreciate any and all help
c
I will try to see if I am skilled enough to help out,
❤️ 3
c
The big problem that I took a pause on thinking about is how to pull in all the files that ansible might need. For example, an ansible role can pull in every file in the "files" directory, but also any other file in its subtree. I think pants dependency inference would be a good way, even though the inference is necessarily overbroad. But the dependencies can also be done manually, so we could implement the actual functionality.
👍 1
c
It's https://github.com/sureshjoshi/pants-plugins that you both build on, right?
w
Yep! that's been going through a re-factoring to clean it up, so you may have to disable some build files (can't recall if I pushed the PR to fix that yet)
c
Yes, I just noticed that 🙂
It looks like it's going to be a rough ride for me... Where is the best place to talk and ask questions? (I'm new at pants plugins in general, too)
👍 1
w
This is basically required reading to get a grasp on all the components and parts of the general plugin concept (https://www.pantsbuild.org/docs/plugins-overview). I wrote a blog post in Pants 2.9 days, which goes through similar stuff from a more implementation-centric point of view, with some gotchas (https://sureshjoshi.com/development/first-pants-plugin - it's a bit old, but it's still about 90% relevant) The pants repo backends/plugins are another great source of info - since we have a wide variety of code, most of my plugin work is trying to find a similar plugin and then stealing the associated code.
ansible
is a bit of a weird beast, since it's a plugin AND a backend, and it itself is a bit strange for reasons Daniel brought up above. Slack is probably the best place for asking questions, with Github Discussions being a good place for asking things that feel a bit "large" for Slack (we don't cleanly have a divide between Slack and GH Discussions, but I think of it as more speed of reply and size/philosophy of the problem)
It looks like it's going to be a rough ride for me
Honestly, yes, yes it will be at first. A lot of foreign concepts, but once you grok it it becomes a lot easier, and then it's more like "oh, this is all I have to do to make a plugin?"
To quote @ambitious-actor-36781: "I feel it becomes nearly as trivial as lego when you get it. but they're hypercube lego bricks from the outside"
I'll go back to that repo tonight and make sure it's compilable on main again, after all my changes and tweaks. I have another plugin coming down the pipe this weekend - so tonight feels like a good time to fix it
🙏🏽 1