# Rosidl\_defaults split into rosidl\_defaults and rosidl\_core

**URL:** <https://discourse.openrobotics.org/t/rosidl-defaults-split-into-rosidl-defaults-and-rosidl-core/27143>\
**Category:** ROS General\
**Tags:** ros2, development\
**Created:** [August 30, 2022, 1:12am UTC](https://discourse.openrobotics.org/t/rosidl-defaults-split-into-rosidl-defaults-and-rosidl-core/27143 "2022-08-30T01:12:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nuclearsandwich](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/nuclearsandwich/32/559_2.png) [@nuclearsandwich](https://discourse.openrobotics.org/u/nuclearsandwich)\
**Post date:** [August 30, 2022, 1:12am UTC](https://discourse.openrobotics.org/t/rosidl-defaults-split-into-rosidl-defaults-and-rosidl-core/27143/1 "2022-08-30T01:12:02Z")

</div>

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](https://github.com/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.

---

<div class="post-metadata">

**Author:** ![jacob](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/jacob/32/160_2.png) [@jacob](https://discourse.openrobotics.org/u/jacob)\
**Post date:** [September 9, 2022, 10:39pm UTC](https://discourse.openrobotics.org/t/rosidl-defaults-split-into-rosidl-defaults-and-rosidl-core/27143/2 "2022-09-09T22:39:14Z")

</div>

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

- [rosidl\_core: 0.1.0-1 in 'rolling/distribution.yaml' [bloom] by jacobperron · Pull Request #34398 · ros/rosdistro · GitHub](https://github.com/ros/rosdistro/pull/34398)
- [rosidl\_defaults: 1.4.0-1 in 'rolling/distribution.yaml' [bloom] by jacobperron · Pull Request #34406 · ros/rosdistro · GitHub](https://github.com/ros/rosdistro/pull/34406)
- [unique\_identifier\_msgs: 2.3.1-1 in 'rolling/distribution.yaml' [bloom] by jacobperron · Pull Request #34407 · ros/rosdistro · GitHub](https://github.com/ros/rosdistro/pull/34407)
- [rcl\_interfaces: 1.3.1-1 in 'rolling/distribution.yaml' [bloom] by jacobperron · Pull Request #34408 · ros/rosdistro · GitHub](https://github.com/ros/rosdistro/pull/34408)
