Add CATKIN_IGNORE_ROS2 marker support for mixed ROS1/ROS2 workspaces#774
Add CATKIN_IGNORE_ROS2 marker support for mixed ROS1/ROS2 workspaces#774iory wants to merge 1 commit intocatkin:mainfrom
Conversation
This allows catkin_tools to ignore ROS2 packages without affecting colcon, enabling better coexistence of ROS1 and ROS2 packages in the same workspace. - Add CATKIN_IGNORE_ROS2 to ignore_markers in find_packages() - Update help message in catkin clean command
8fd4a9e to
001357b
Compare
|
I've been handling this scenario with |
|
Thank you for the suggestion! That's indeed a valid approach for scenarios where you only want to build a specific subset of ROS2 packages using However, the goal of this PR ( The
This PR allows for a more "declarative" approach. By simply adding a The primary benefit is simplicity for the end-user:
No extra options or meta-packages are needed. This is particularly valuable in educational settings (like universities or labs) where students are learning both ROS1 and ROS2, often in the same environment. It lowers the barrier to entry and reduces confusion, allowing them to focus on the robotics concepts rather than complex build tool configurations. |
This PR adds support for a new marker file
CATKIN_IGNORE_ROS2to enable better coexistence of ROS1 and ROS2 packages in the same workspace.Problem
Currently, when using
CATKIN_IGNOREin a mixed ROS1/ROS2 workspace:CATKIN_IGNORESolution
Introduce a new marker file
CATKIN_IGNORE_ROS2that:CATKIN_IGNOREfunctionalityChanges
CATKIN_IGNORE_ROS2to the ignore_markers set infind_packages()Usage
For ROS2 packages that should be ignored by catkin_tools but built by colcon:
This enables truly mixed ROS1/ROS2 workspaces where each build tool can operate independently.