You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the c++ code autogenerated by protobuf is used in the public API of ign-msgs. While this is convenient in that users of ign-msgs can just link against ign-msgs and immediately start using the message classes in their applications, it comes with some downsides.
Adding a field to a message breaks ABI even though the wire protocol of protobuf is designed to be backward compatible. This this requires a major version bump whereas adding a completely new message can be done in a minor release of ign-msgs.
make ign-msgs only contain the .proto files and generate message classes in each downstream library.
I suggest as a first step we package just the .proto files into a separate package from the generated C++ code. This would allow us to be in a transition stage while some downstream libraries generate the messages themselves, and others use the precompiled binaries.
This should also make it cleaner to use the proto files with languages other than C++.
Currently the c++ code autogenerated by protobuf is used in the public API of ign-msgs. While this is convenient in that users of ign-msgs can just link against ign-msgs and immediately start using the message classes in their applications, it comes with some downsides.
A potential solution for (1) would be to make ign-msgs only contain the
.proto
files and generate message classes in each downstream library. For (2) and (3), we could consider statically link against libprotobuf as recommended inhttps://github.com/protocolbuffers/protobuf/tree/master/src#binary-compatibility-warning
The text was updated successfully, but these errors were encountered: