Skip to content

feat: add ros2 interface CLI command support #628

Open
furushchev wants to merge 2 commits into
mvukov:mainfrom
furushchev:ros2interface
Open

feat: add ros2 interface CLI command support #628
furushchev wants to merge 2 commits into
mvukov:mainfrom
furushchev:ros2interface

Conversation

@furushchev

Copy link
Copy Markdown

Add Bazel macro and Python wrapper to enable ros2 interface command
functionality within Bazel-built ROS 2 projects.

Changes:

furushchev added 2 commits May 8, 2026 10:24
Add Bazel macro and Python wrapper to enable ros2 interface command
functionality within Bazel-built ROS 2 projects.

Changes:
- Add interface.bzl macro for creating ros2_interface binary targets
- Add ros2_interface.py Python wrapper exposing interface CLI verbs
- Register new files in ros2/BUILD.bazel exports_files

@mvukov mvukov left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

A general question: why/how is this utility useful in Bazel context? -- I am just curious.

Naming is going to be tricky here. We already have interfaces.bzl -- without proper docs (new) folks might be puzzled with interface.bzl and interfaces.bzl. WDYT?

Comment thread ros2/ros2_interface.py
@@ -0,0 +1,33 @@
# Licensed under the Apache License, Version 2.0 (the "License");

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Add yourself as a copyright holder in relevant files.

@furushchev

furushchev commented May 19, 2026

Copy link
Copy Markdown
Author

A general question: why/how is this utility useful in Bazel context? -- I am just curious.

In my Bazel workspace, ROS2 interface definitions are converted from other sources and are not in workspace as files, so it's worth porting ros2 interface <command> tool into the workspace to ensure the conversion tool works correctly.

Naming is going to be tricky here. We already have interfaces.bzl -- without proper docs (new) folks might be puzzled with interface.bzl and interfaces.bzl. WDYT?

Currently, we have at least file level docstring both on interface.bzl and interfaces.bzl. Can you please clarify what you have in your mind about the proper docs in addition to them?

@mvukov

mvukov commented May 25, 2026

Copy link
Copy Markdown
Owner

A general question: why/how is this utility useful in Bazel context? -- I am just curious.

In my Bazel workspace, ROS2 interface definitions are converted from other sources and are not in workspace as files, so it's worth porting ros2 interface <command> tool into the workspace to ensure the conversion tool works correctly.

I don't get this. IIUC, this tool can be used to list interfaces used for a specific target. Is this correct? Also, what kind of conversion you have in mind?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants