Supports subdirectories in msg folder #821
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Public API Changes
None
Description
Fixed the
generate-ros-messages
command not working properly if the msg file is in a subdirectory inside the msg directory.For example, consider the following simple ROS2 package.
This is the example package used in the ros2 tutorial, but has two message definitions, one is in the subdirectory
bar
.After the
npx generate-ros-messages
is executed for this package,which comes from these msg files after build
are generated under
generated/
folder. The first one should betutorial_interfaces__msg__Bar.js
, but is named incorrectly, so the messageBar
cannot be used in publisher or listener.So I changed
rosidl_gen/packages.js
so that it works even if some messages are in subdirectories.Caveats: This modification does not work for services in subdirectories and only supports messages in subdirectories.
Related issues
RobotWebTools/ros2-web-bridge#175
ros2/rosidl#213