More feedback during the build process of the ros1_bridge would be nice. If you have a 100 different messages and services (and their parameters) named differently across ros1 and ros2, you will likely make mistakes in the mapping files. These errors may include a typo in the names of the ros1/2 packages, messages or parameters. Most of the time, the build with such an error compiles through without any warning or error. Only when you run the bridge with --print-pairs, you will maybe notice that interfaces are missing.
My suggestion is that when an explicit mapping (any ros1/2 package, interface, parameter name was not found) in the mapping file fails, then this should produce at least output to stderr.
Maybe it would also be a good idea to print an info when an implicit mapping was found (without any mapping file entry).
Right now the following example compiles just fine:
More feedback during the build process of the ros1_bridge would be nice. If you have a 100 different messages and services (and their parameters) named differently across ros1 and ros2, you will likely make mistakes in the mapping files. These errors may include a typo in the names of the ros1/2 packages, messages or parameters. Most of the time, the build with such an error compiles through without any warning or error. Only when you run the bridge with
--print-pairs
, you will maybe notice that interfaces are missing.My suggestion is that when an explicit mapping (any ros1/2 package, interface, parameter name was not found) in the mapping file fails, then this should produce at least output to
stderr
. Maybe it would also be a good idea to print an info when an implicit mapping was found (without any mapping file entry).Right now the following example compiles just fine:
my_msgs_mapping.yaml:
ros1 service called
MyMsg1.msg:
ros2 service called
MyMsg1.msg: