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
Relation (merge?) with bazelbuild/rules_proto #15
Comments
That repo contains (or will contain) replacements for the presently native proto_library rule and associated providers etc, so serves a somewhat different purpose than this repo. I did check if there was desire to merge prior to forking this repo, but there was not. |
Regarding the question you posted in stackb/rules_proto#116, the context can be found at stackb/rules_proto#99 The reason this is not a GitHub ‘fork’ is that you cannot have the issues page etc enabled when on a forked repo. So it is still a fork, just limitations on GitHub prevent it from being marked as such. I’ve tried to reference back as much as possible in the readme etc to indicate this. |
As Adam said and I mentioned in bazelbuild/rules_proto#16, the two repos have very different goal. @aaliddell I'm currently working on a (concrete) migration plan for the native Protobuf rules, which involves rewriting the native |
Regarding merging: However, from the perspective of maintaining this repo, it's worth considering how we ensure continued support where not just one person is looking after these rules. I set this up on a separate org so that it is its own entity that isn't tied to me and can add maintainers without renaming. In terms of attracting PRs and support: the rulegen code in Go is probably quite a large barrier to entry for a lot of people. Removing it would be realistically be untenable, as it automates something that'd be very tedious manually. However, I have considered moving it to Python to be more accessible to people who know Starlark (and a more familiar language for me). Regarding |
Personally, I strongly believe that From the maintaining perspective, I have written some proto lang rules in the past and it involved a lot of copy-pasting code and fixing bugs in literally thousands of places. Generally I'd say that Protobuf in Bazel is a huge mess. Cleaning this up and making it simpler is actually the second goal of Regarding Regarding If you're intersted, I can add you to the draft of the design doc for this. I don't want to make it public just yet to avoid comments on things I haven't gotten to. You can find my email on GitHub. |
I'm somewhat on the fence about this, as it would also require that every rules_lang have Protobuf and rules_proto as a dependency. I think Bazel will be forced to pull this dependency regardless of if the user uses the protobuf rules, as the rules_lang defs.bzl must On the other hand, I agree it would be good for rules_lang specialists in their language to support their lang_proto_library, rather than myself and others trying to support langauges we barely know. But thus far it seems to be a bit hit and miss which languages provide support, and with varying implementations when they do.
Definitely agree! The rulegen somewhat solves this repetitive work thankfully. Perhaps the aspect should live only in rules_proto and this repo just provide wrappers for various languages that don't yet provide it in rules_lang. Also, this repo provides the gRPC rules that mostly don't exist elsewhere and I don't think should be in rules_lang, but arguably could be the gRPC repo instead (and some are).
Sure. I'll send you an email. |
After reading the code in //:aspect.bzl, I believe that this is the right way of doing proto and grpc rules. I was only thinking of doing it. But you actually did it. Good job and thanks! |
Google started a repo: https://github.com/bazelbuild/rules_proto
How much sense does it make to merge this repo with that?
The text was updated successfully, but these errors were encountered: