Colcon support was just released in snapcraft CLI

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!

6 Likes