-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: link to @bazel_skylib//gazelle/bzl [skip ci] #857
Conversation
TODO
cc @achew22 |
Would you be okay including it as a default plugin? |
Not yet... but I think we should eventually. My main worry is that if something is included in the default Gazelle binary, then I'll be responsible for supporting and maintaining it. I'm stretched pretty thin right now (rules_go and Gazelle are not my main projects), and I can't take that on. That approach hasn't worked well. I know there are a lot of private extensions for specific use cases, which is great, but there aren't any public extensions for major languages. That's probably for the same reason: rule owners don't want to develop, support, or maintain the extensions. And that's understandable: if you own rules_rust, you don't want to learn Go to do this. Even if ownership is delegated to the folks who write the extensions, those people may not have write access or control over the release schedule of the containing repository (as we are discovering). Architecturally, in order for Gazelle to be more useful, it may be better for extensions to be developed here, but people adding extensions will need to take ownership and will need to respond to issues, fix bugs, and so on. I think that's basically the right move, but needs more thought for now. |
This is extremely reasonable to me. The primary thing that jumps to mind for me would be, should
Out of curiosity, what would you think about having some kind of plugin system to Gazelle where you could communicate bidirectionally with a binary over stdin/out in a quasi gRPC kind of fashion? This would allow people to write in a language they're more comfortable in, maybe even import the AST engine from the compiler they're targeting. |
Funny you should mention that... Originally, Gazelle, I think those reasons are still valid, and it's another argument against putting extensions in rule repositories. The dependency thing isn't necessarily a definitive argument though:
Could work. There could be a generic stub extension library that implements that. You'd still have to write a little Go code to provide a |
Oh it took me wayyy to long to find this PR hanging. @jayconrod @achew22 is there any pending items here that I could help out to get this merged? It's a very trivial doc change that let people know about the existing extension for Starlark |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you want to merge this I'm definitely okay with that
@bazel_skylib//gazelle/bzl
extension.