Tool for comparing proto files in code [closed]
Tool for comparing proto files in code [closed]
I am implementing a solution with protocol buffers. I generate .proto
files using protobuf-net.
.proto
The problem is that I am not the only person who will be able to edit my code later. I would like to make sure that if someone makes changes to a .proto
file, services using it will continue to work (i.e. someone might remove property and then add another property using the same ID).
.proto
Is there any tool which allows to parse .proto
files into some kind of object (like list of messages and each message might be represented as dictionary)?
.proto
It would help in testing if new versions of .proto
files are at least compatible with older versions.
.proto
If not, are there other ways to test if a new version of proto won't break old contract?
This question appears to be off-topic. The users who voted to close gave this specific reason:
1 Answer
1
Since you're using protobuf-net, I may as well suggest protobuf-net.Reflection (available on nuget etc) - this includes a full .proto parsing API and type model, and is what protobuf-net uses for protogen
, it's code-generation tool. To see how it works, you can either look at the code for protogen (or the website source code), or if that doesn't help - I can add a clearer example later when at a PC.
protogen
It does not currently include any tooling to check for conflicts between two different .proto of the same model, but I guess you could hook that together from the existing API.