-
Notifications
You must be signed in to change notification settings - Fork 348
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
Allow FileDescriptorSets in place of individual .proto files #1071
Comments
Adding a possible scenario to this feature request, it could be feasible for a single descriptor set to be passed in and all of the services contained in it automatically added without having to specify the descriptors within it. 🤔 |
Sounds cool! Do you think you can create a PR so we can merge it and release a new version with this feature? |
I'll work on it. Been reading up on how to do it and there might be a potential showstopper. In order to convert a FileDescriptorSet into a Then we'd need to set the Looks like others have opened up issues on protobuf.js (protobufjs/protobuf.js#1117). I'll keep digging and code up a sample PR if I can. |
Okay, I shifted gears and am starting with reflection support. I did fiddle with using statically generated descriptor sets, but was having some trouble with decoding them. Check out #1086. Once reflection is working. It shouldn't be too hard to also support file descriptor sets. |
gRPC handler supports FileDescriptorSets; |
Co-authored-by: Renovate Bot <[email protected]>
Most protocol buffer and gRPC projects that I have seen involve many proto files that typically exist outside of the client codebase. These large sets of proto files can be compiled into a file descriptor set:
protoc -I . --descriptor_set_out=descriptor-set.bin foo.proto
These descriptor sets can then be consumed during the
protoc
code generation process with--descriptor_set_in
:Rather than having to include many
*.proto
files, it would be cleaner (IMHO) if we could use a descriptor set. Example:The text was updated successfully, but these errors were encountered: