Hey everyone. I wanted to make sure you were all aware that version 3.2 of the snapcraft CLI was just released today, which includes support for colcon, making it super easy to create ROS2 snaps. A single, confined, installable file containing a ROS2 workspace and all its dependencies can be built with a YAML file that looks like this:
name: ros2-talker-listener
version: "0.1"
summary: ROS2 Talker/Listener Example
description: |
This example launches a ROS2 talker and listener.
grade: devel
confinement: strict
base: core18
parts:
ros-demos:
plugin: colcon
source: https://github.com/ros2/demos.git
source-branch: crystal
colcon-rosdistro: crystal
colcon-source-space: demo_nodes_cpp
build-packages: [make, gcc, g++]
stage-packages: [ros-crystal-ros2launch]
apps:
run:
command: opt/ros/crystal/bin/ros2 launch demo_nodes_cpp talker_listener.launch.py
plugs: [network, network-bind]
Please see the following blog post if you’d like to learn more:
And of course, feel free to ask any questions you have right here!