Bug #2099

Engine has direct protobuf dependencies

Added by N. Köster over 4 years ago. Updated over 4 years ago.

Status:FeedbackStart date:11/21/2014
Priority:HighDue 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

Revision 7b66229a
Added by N. Köster over 4 years ago

  • removed protobuf dependency, fixes #2099

History

#1 Updated by N. Köster over 4 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

#2 Updated by J. Wienke over 4 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 A. Nordmann over 4 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 4 years ago

Huh? How should this work right now if RST is completely protobuf-based?

#5 Updated by A. Nordmann over 4 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 4 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.

Also available in: Atom PDF