Rosidl_defaults split into rosidl_defaults and rosidl_core

The ROS 2 core repository structure recently changed.

For those using Rolling via debs and rpms, this change will come to the Rolling testing and main repositories once the changes have been released.
For those building Rolling from source, you’ll need to fetch an updated ros2.repos file and import it.

If you were previously depending on packages in rosidl_defaults and action_msgs or service_msgs you can now depend solely on rosidl_defaults as these are included.

Here is an approximate* overview of the changes

  • The packages in rosidl_defaults have been renamed to rosidl_core and moved into the ros2/rosidl_core repository.
  • The new rosidl_defaults now depend on rosidl_core, action_msgs, and service_msgs
  • Now users can depend on rosidl_defaults and not have to explicitly depend on action_msgs or service_msgs for generating custom actions and services.
  • A few “core” interface packages will depend directly on rosidl_core instead of rosidl_default in order to avoid dependency loops.

* approximate because I am on the sidelines of this change and so may have missed something when reviewing the meeting minutes for this post.

The changes have been released for Rolling and should be available for in the testing repository shortly. Here are the relevant rosdistro PRs:

1 Like