The ROS 2 Jazzy extension

This extension helps you snap ROS 2 applications for the Jazzy Jalisco distribution.

:information_source: This extension requires Snapcraft 8.x+.

How to use it

Add extensions: [ ros2-jazzy ] to the application definition in your snapcraft.yaml file. See the ROS 2 applications documentation page for a complete tutorial on how to use this extension.

    ...
apps:
  colcon-ros2-jazzy-rlcpp-hello:
    command: opt/ros/jazzy/bin/ros2 run colcon_ros2_rlcpp_hello colcon_ros2_rlcpp_hello
    extensions: [ros2-jazzy]
    ...

What it does for the build-time environment

  • Adds ROS 2 APT package repository build-time configuration for the snap, installing the necessary GPG key.
  • Adds the following build-packages:
    • ros-jazzy-ros-environment
    • ros-jazzy-ros-workspace
    • ros-jazzy-ament-index-cpp
    • ros-jazzy-ament-index-python
  • Defines the build-environment:
    • ROS_VERSION = 2
    • ROS_DISTRO = jazzy

What it does for the run-time environment

  • Initializes runtime environment required by ROS 2 before launching the application, similar to sourcing the typical ROS 2 local_setup.bash.

Further reading

  • For an example of this extension being used, see the core24 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 expand-extensions.

:information_source: Snapcraft extensions enable snap developers to easily incorporate a set of common requirements into a snap. See Snapcraft extensions for further details.

1 Like

Hi @degville,
Could this be added as ‘ROS 2 Jazzy’ in the navigation menu under snapcraft reference/extensions ?
Thank you!

Sorry for the delay on this, too. I’ve just added the page to the navigation.

1 Like