Skip to content

feat(serialization): vendor dynmsg library#163

Merged
bburda merged 1 commit intomainfrom
feature/vendor-dynmsg
Feb 4, 2026
Merged

feat(serialization): vendor dynmsg library#163
bburda merged 1 commit intomainfrom
feature/vendor-dynmsg

Conversation

@mfaferek93
Copy link
Collaborator

Pull Request

Summary

Migrate dynmsg from git submodule to vendored source code within ros2_medkit_serialization. This removes the external dependency blocker for publishing to rosdistro.

Changes:

  • Add vendored dynmsg C++ API (headers + sources)
  • Add message_cleanup wrapper API for gateway
  • Update include paths to use vendored headers
  • Remove dynamic_message_introspection submodule
  • Update CMakeLists.txt and package.xml dependencies

Issue

Link the related issue (required):


Type

  • Bug fix
  • New feature or tests
  • Breaking change
  • Documentation only

Testing

How was this tested / how should reviewers verify it?


Checklist

  • Breaking changes are clearly described (and announced in docs / changelog if needed)
  • Tests were added or updated if needed
  • Docs were updated if behavior or public API changed

@mfaferek93 mfaferek93 self-assigned this Feb 4, 2026
@mfaferek93 mfaferek93 added the enhancement New feature or request label Feb 4, 2026
@mfaferek93 mfaferek93 marked this pull request as ready for review February 4, 2026 17:27
Copilot AI review requested due to automatic review settings February 4, 2026 17:27
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR vendors the dynmsg library from the dynamic_message_introspection repository directly into ros2_medkit_serialization to enable publishing to rosdistro. The vendoring removes the external git submodule dependency that was blocking binary distribution.

Changes:

  • Vendored dynmsg C++ API (~1500 lines) with proper Apache 2.0 attribution
  • Added message_cleanup wrapper API for simplified memory management
  • Removed dynamic_message_introspection git submodule
  • Updated all include paths from dynmsg/ to ros2_medkit_serialization/vendored/dynmsg/

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/ros2_medkit_serialization/src/vendored/dynmsg/*.cpp Vendored dynmsg C++ implementation files with updated include paths
src/ros2_medkit_serialization/include/ros2_medkit_serialization/vendored/dynmsg/*.hpp Vendored headers with updated include guards and paths
src/ros2_medkit_serialization/src/vendored/dynmsg/NOTICE.md Attribution and modification documentation for vendored code
src/ros2_medkit_serialization/src/message_cleanup.cpp New wrapper API for message cleanup
src/ros2_medkit_serialization/include/ros2_medkit_serialization/message_cleanup.hpp Header for message cleanup wrapper
src/ros2_medkit_serialization/CMakeLists.txt Updated to build vendored sources, disabled linters for vendored code
src/ros2_medkit_serialization/package.xml Replaced dynmsg dependency with underlying ROS dependencies
src/ros2_medkit_serialization/src/json_serializer.cpp Updated include paths to vendored headers
src/ros2_medkit_serialization/include/ros2_medkit_serialization/type_cache.hpp Updated include paths to vendored headers
src/ros2_medkit_gateway/src/operation_manager.cpp Uses new message_cleanup wrapper for consistent memory management
src/dynamic_message_introspection Removed git submodule
.gitmodules Removed submodule configuration

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.

@mfaferek93 mfaferek93 requested a review from bburda February 4, 2026 19:11
Migrate dynmsg from git submodule to vendored source code within
ros2_medkit_serialization. This removes the external dependency
blocker for publishing to rosdistro.

Changes:
- Add vendored dynmsg C++ API (headers + sources)
- Add message_cleanup wrapper API for gateway
- Update include paths to use vendored headers
- Remove dynamic_message_introspection submodule
- Update CMakeLists.txt and package.xml dependencies
@mfaferek93 mfaferek93 force-pushed the feature/vendor-dynmsg branch from 6975b88 to e555b99 Compare February 4, 2026 19:58
@bburda bburda merged commit f3d0383 into main Feb 4, 2026
5 of 6 checks passed
@bburda bburda deleted the feature/vendor-dynmsg branch February 4, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vendor dynmsg into ros2_medkit_serialization to enable rosdistro release

2 participants