ros-infrastructure / bloom

A release automation tool which makes releasing catkin (http://ros.org/wiki/catkin) packages easier.
Other
58 stars 93 forks source link

Generate -runtime packages with --runtime-pkg #703

Open jspricke opened 1 year ago

jspricke commented 1 year ago

This allows separating runtime and development packages to cut the dependency tree. Note that all packages would need to be created with the --runtime-pkg option as there is no logic to store which packages has one and which one does not. Dependencies are separated by exec_depend/build_export_depend.

The package split currently only moves the include directory as the cmake, pkg-confg and package.xml files could be used by runtime scripts. Also the package names are -runtime/ instead of /-dev so users get everything in case they install the old package name.

In case you want to use this on packages.ros.org I would recommend to run bloom-generate as part of the package build process.

The second patch adds a similar logic for test dependencies by using test_depend only for runtime packages. Test dependencies that need development files would need to use build_depend. This is a light redefinition of the tag but allows to cut the dependency tree even further.

ros-discourse commented 9 months ago

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/package-separation-for-building-and-running-ros-applications/35527/5