You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actions and substitutions can be exposed from several packages.
Name collisions are possible, and sometimes desired (e.g.: GroupAction in launch_ros with extra ns argument, see ros2/design#207 (review)).
Adding namespace is a way of solving the problem.
<group>
...
</group>
<ros::groupns="my_ns">
...
</ros::group>
Using tags would be also desired:
<usingname="ros::group"/>
<usingnamespace="ros"/>
Using tags should be allowed in launch and group tag (and any other future tag that accepts a list of subentities).
Implementation considerations
Actions and Substitutions are exposed to launch.frontend using decorators.
The decorators populates two dictionaries, action_parse_methods and substitution_parse_methods, in the format:
This, together with a name and namespace context should solve the problem.
The parsing functions of LaunchDescription and Group should check/push/pop this context.
We could have a parse_children methods in Parser class, for better code reuse.
Alternatives
Some sort of overriding is also possible. It doesn't solve some corner cases, e.g.:
Launch exposes group action.
Two different packages inherit from it and use the same tag name.
The text was updated successfully, but these errors were encountered:
@ivanpauno I'd be inclined to use a single colon : instead of two :: to be consistent with XML namespaces syntax. Also, I'd make the operator markup-language dependent e.g. using colons : on a YAML launch file will confuse the parser, better use dots ..
Feature request
Feature description
Actions and substitutions can be exposed from several packages.
Name collisions are possible, and sometimes desired (e.g.:
GroupAction
inlaunch_ros
with extrans
argument, see ros2/design#207 (review)).Adding namespace is a way of solving the problem.
Using tags would be also desired:
Using tags should be allowed in
launch
andgroup
tag (and any other future tag that accepts a list of subentities).Implementation considerations
Actions
andSubstitutions
are exposed tolaunch.frontend
using decorators.The decorators populates two dictionaries,
action_parse_methods
andsubstitution_parse_methods
, in the format:It can be easily change to a nested dict:
This, together with a name and namespace context should solve the problem.
The parsing functions of
LaunchDescription
andGroup
should check/push/pop this context.We could have a
parse_children
methods inParser
class, for better code reuse.Alternatives
Some sort of overriding is also possible. It doesn't solve some corner cases, e.g.:
The text was updated successfully, but these errors were encountered: