Catkin plugin¶
The Catkin plugin is used to build ROS 1 parts.
In Snapcraft 8, the Catkin plugin can be used alongside the ROS 1 extension to build core20 snaps.
Keywords¶
This plugin provides the following unique keys for core20 snaps.
catkin-packages¶
Type: list of strings Default: all workspace packages
The Catkin packages to build. If unset, all packages in the workspace will be built.
catkin-packages-ignore¶
Type: list of strings Default: []
The Catkin packages to ignore. These packages will not be built or installed. If unset or set to an empty list, no packages will be ignored.
catkin-cmake-args¶
Type: list of strings Default: []
The arguments to pass to CMake.
Dependencies¶
For core20 snaps, this plugin installs python3-rosdep
, rospack-tools
,
ros-noetic-catkin
, and any other ROS packages declared in the part.
How it works¶
The Catkin plugin is designed to work alongside the ROS 1 extension.
For core20 snaps that don’t use this extension, the ROS_DISTRO
environment variable
must be set to noetic
with the build-environment
key.
During the build step, the plugin performs the following actions:
Source catkin workspaces in any declared build snaps, stage snaps, and on the host system.
Install any missing project dependencies with rosdep.
Run
catkin_make_isolated
to build each item in the sourced workspaces, taking into account any plugin-specific keys declared in the part.
Example¶
See Craft an ROS 1 app for an example of a snap that uses the Catkin plugin.