-
Notifications
You must be signed in to change notification settings - Fork 165
Closed
Description
Previously I had described a "Group" or "Group of Actions" as a separate entity from "Action", but since then I think we can just have a special Action that yields other actions and optionally does things like pushes/pops the launch configurations and set/unset specific launch configurations.
I believe the action I've described is capable of fulfilling the use cases I originally imagined for groups:
- push containing nodes into a namespace
- would be done by modifying the
ros_namespaceLaunchConfigurationthat affects only the actions it yields- see:
launch/launch_ros/launch_ros/actions/node.py
Lines 80 to 81 in b78d87f
If relative, the namespace in the 'ros_namespace' LaunchConfiguration will be prepended to the given relative node namespace.
- see:
- would be done by modifying the
- conditionally include other launch descriptions or actions
- done with proposed Condition concept which would work on any Action, including this one
- scope arbitrary launch configurations
- done by using the
LaunchContextto push and pop them- see:
launch/launch/launch/launch_context.py
Lines 146 to 157 in b78d87f
def _push_launch_configurations(self): self.__launch_configurations_stack.append(dict(self.__launch_configurations)) def _pop_launch_configurations(self): if not self.__launch_configurations_stack: raise RuntimeError('launch_configurations stack unexpectedly empty') self.__launch_configurations = self.__launch_configurations_stack.pop() @property def launch_configurations(self) -> Dict[Text, Text]: """Getter for launch_configurations dictionary.""" return self.__launch_configurations
- see:
- done by using the
We should also update the design document (ros2/design#163).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request