-
Notifications
You must be signed in to change notification settings - Fork 141
Support passing keyword arguments to rosidl CLI extensions #597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Michel Hidalgo <[email protected]>
Signed-off-by: Michel Hidalgo <[email protected]>
@clalancette @sloretz friendly ping |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I have enough context to review this. Two questions that might help clarify things a bit:
- How is this intended to be used in the end? That is, what is a realistic example of something that might get passed through here?
- Do we really have to define our own new string format for the SPECS_PATTERN? Can't we use straight YAML (or XML, or JSON, or....)?
@clalancette fair questions.
It really depends on each generator implementation. A realistic example, the one that pushed me to do this, is narrowing down the pool of typesupport implementations to be used when generating CPython extensions and C/C++ typesupport trampolines. Simply looking up the
It is mostly YAML. We could go from |
@clalancette @sloretz friendly ping |
Signed-off-by: Michel Hidalgo <[email protected]>
Alright, thanks for the reviews! I'll get this in and release so we can have the Rolling PR job passing for downstream PRs. |
@cottsay how do you feel about backporting this (along with ros2/rosidl_typesupport#112 and ros2/rosidl_python#133) to Galactic? It is a feature and it does change the expected extension API but it is hardly likely anyone has used it outside of the core. |
This patch builds on top of #567, adding support for passing keyword arguments for CLI extensions along with their spec. This allow for extension specific configuration.
CI up
rosidl_cli
,rosidl_typesupport_c
,rosidl_typesupport_cpp
, androsidl_generator_py
: