Bug #2099
Engine has direct protobuf dependencies
Status: | Feedback | Start date: | 11/21/2014 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | - | % Done: | 100% | |
Category: | - | |||
Target version: | - |
Description
in RSXUtils.java is a reference to com.google.protobuf.Message which should not be necessary as this is a implementation detail from RST and should be fully encapsulated there. This will be important if there would be a switch from protobuf to any other lib at some point in the future. The rsb-scxml-engine would then break due to the direct protobuf dependency,see
http://opensource.cit-ec.de/issues/334
For now we will delete the protobuf dependency from the rsb-scxml-engine, as the dependency will be resolved upstream via rst.
Associated revisions
- removed protobuf dependency, fixes #2099
History
#1 Updated by N. Köster over 9 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset 7b66229a4842d0ca5cf50e981c2d728b03d7242f.
#2 Updated by J. Wienke over 9 years ago
I'm not quite happy with this solution. Once you use a transitive dependency directly in your own code, you should declare it as your own dependency as well. We had other errors with the situation we have right now with the undeclared dependency.
The correct solution for the referenced issue would be to stick the protobuf version explicitly to something uniform via -D flags.
#3 Updated by Anonymous over 9 years ago
- Status changed from Resolved to Feedback
- Assignee deleted (
N. Köster)
What about removing the protobuf dependency from the rst API? Wouldn't that be a good idea anyway (considering future transition to rosetta for example)?
#4 Updated by J. Wienke over 9 years ago
Huh? How should this work right now if RST is completely protobuf-based?
#5 Updated by Anonymous over 9 years ago
I do not have too much inside regarding the actual code, but our impression was that converter registration might be the only point in the API that injects protobuf dependency.
I really don't have enough insight, but if I could register converters just by type name for example?
Maybe we should discuss this in Robotics Systems Types.
#6 Updated by J. Wienke over 9 years ago
From the point of view of this engine, there is no chance to get around this right now. We would need an extension in RST itself comparable to the rst-converters-cpp idea. Moreover, also RSB with the ProtocolBufferConverter
exposes the protobuf dependency to the client code.