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
This is only a feedback comment as requested by @jbohren, not a bug report.
The rtt_ros README states that a new <rtt_ros><plugin_depend>PKG_NAME</plugin_depend></rtt_ros> tag has been introduced to import dependent packages via ros.import(). I do not really understand why this is needed, beside the weak reasons mentioned in the README.
The catkin dependency tags are indeed quite confusing, but <run_depend> is exactly what would be needed here:
Run Dependencies specify which packages are needed to run code in this package, or build libraries against this package. This is the case when you depend on shared libraries or transitively include their headers in public headers in this package (especially when these packages are declared as (CATKIN_)DEPENDS in catkin_package() in CMake).
<run_depend> is what translates to package dependencies when creating binary packages, e.g. on the ROS buildfarm. Adding another <plugin_depend> tag does IMHO not help to reduce confusion. Specifying packages in <plugin_depend> does not release users to additionally adding them as runtime dependencies if they want to obey the specification, especially for released packages.
Furthermore, the tag name plugin_depend is misleading as not only RTT plugins, but also RTT typekits (afaik a special type of plugin) and component libraries could be imported from other packages.
The text was updated successfully, but these errors were encountered:
To support the current behavior of the RTT ComponentLoader by importing deps described in package manifests
To be explicit about which plugins get loaded when you import a given package. If you just imported all <run_depend> tags, then you couldn't distinguish between a package needed at runtime for other purposes, but whose plugins you didn't want to automatically import
Searching all run_depend tags is time consuming
Many run_depend tags are system dependencies (formerly rosdeps), and not actually catkin packages
To enable a package to list a number of packages from which plugins should be loaded, even if that package doesn't build any plugins
# Link with the OCL Deployment component:
orocos_use_package( ocl-deployment )
This macro has a similar effect as putting this dependency in your manifest.xml file, it sets the include paths and links your libraries if OROCOS_NO_AUTO_LINKING is not defined in CMake (the default). Some packages (like OCL) define multiple .pc files, in which case you can put the ocl dependency in the manifest.xml file and use orocos_use_package() to use a specific ocl .pc file.
The nice thing about not doing this, is that it means fewer things need to be recompiled if plugins change upstream in the dependency graph.
Furthermore, the tag name plugin_depend is misleading as not only RTT plugins, but also RTT typekits (afaik a special type of plugin) and component libraries could be imported from other packages.
Yeah, this could use a better name, maybe just "auto_import" or something like that, if we stick with this method.
This is only a feedback comment as requested by @jbohren, not a bug report.
The rtt_ros README states that a new
<rtt_ros><plugin_depend>PKG_NAME</plugin_depend></rtt_ros>
tag has been introduced to import dependent packages viaros.import()
. I do not really understand why this is needed, beside the weak reasons mentioned in the README.The catkin dependency tags are indeed quite confusing, but
<run_depend>
is exactly what would be needed here:<run_depend>
is what translates to package dependencies when creating binary packages, e.g. on the ROS buildfarm. Adding another<plugin_depend>
tag does IMHO not help to reduce confusion. Specifying packages in<plugin_depend>
does not release users to additionally adding them as runtime dependencies if they want to obey the specification, especially for released packages.Furthermore, the tag name
plugin_depend
is misleading as not only RTT plugins, but also RTT typekits (afaik a special type of plugin) and component libraries could be imported from other packages.The text was updated successfully, but these errors were encountered: