The ROS 2 Foxy Content Sharing extensions
Note that this set of extensions are based on the
Therefore, they are applied on top of the
ros2-foxy for more information.
This extension requires Snapcraft 8.x+.
extensions: [ ros2-foxy-<metapackage> ] to the application definition in your
snapcraft.yaml file, where ‘
<metapackage>’ is one and only one of:
extensions: [ ros2-foxy-ros-core ].
See ROS 2 applications for a complete tutorial on how to use this extension.
apps: colcon-ros2-foxy-rlcpp-hello: command: ros2 run colcon_ros2_rlcpp_hello colcon_ros2_rlcpp_hello extensions: [ros2-foxy-ros-base] ...
- Everything the
- Adds a content plug mounting the provider snap content at
$SNAP/opt/ros/underlay_wsand defines a default provider.
- Sets the
CMAKE_SYSTEM_PREFIX_PATHvariable to point at the mounted system path.
- Adds the build snap providing the build-time equivalent of the default content-sharing provider snap to
This implies that you can avoid declaring as
build-packages all the ROS 2 packages that are found inside the ROS 2 metapackage corresponding to the extension name used above.
- Everything the
- Expands the runtime environment required by ROS 2 to include the ROS 2 workspace provided by the content-sharing snap. Similar to the typical chaining of ROS 2 workspaces.
- For an example of this extension being used, see the using content-sharing with core20 section of the ROS 2 applications page.
- For a complete picture of what this extension does, add it to your app definition and run
Snapcraft extensions enable snap developers to easily incorporate a set of common requirements into a snap. See Snapcraft extensions for further details.
Last updated a month ago.