Supported plugins

The following plugins are currently supported by Snapcraft. See Snapcraft plugins for more details in how they’re used, and to create your own, see Writing local plugins.

From Snapcraft 4.0 onwards, if the working directory contains a Snapcraft project, the default behaviour is to show only the plugins available for either its specified base or the latest available supported base (currently core22 ). See Base snaps for more details.

Programming languages

Go

Plugin name Description Base support
go integrates projects written in Go and using the go get package installer core24
core22
core20
core18
godeps integrates projects written in Go and using the godep dependency tool core18

Java

Plugin name Description Base support
ant Ant build system integration, commonly used by Java projects core24
core22
core20
core18
gradle integrate projects built using the Gradle build tool with your snaps core18
maven build system integration with Maven, commonly used by Java projects core24
core22
core18

Node.js/JavaScript

Plugin name Description Base support
gulp build parts from projects using the gulp.js streaming build system core18
npm create parts that use Node.js and/or the JavaScript package manager, npm core24
core22
core20
nodejs create parts that use Node.js and/or the JavaScript package manager, npm core18

Python

Plugin name Description Base support
conda used for parts incorporating the Conda open source package manager system core24
core22
core20
core18
python used for parts incorporating projects written with Python 2 or Python 3 core24
core22
core20
core18

Other languages

Plugin name Description Base support
crystal build parts from projects written in the Ruby-like Crystal language core20
core18
dotnet integrates with Microsoft’s .NET SDK to build core runtime parts core22
core18
flutter easily build and deploy parts for the expressive Flutter UI toolkit core24
core22
core18
ruby built parts from projects written in Ruby and its Gemfile dependency bundler core18
rust build parts from projects written in Rust and using Cargo for dependency management core24
core22
core20
core18

Build tools

Plugin name Description Base support
autotools integrates projects that use the common Autotools suite with your snaps core24
core22
core20
core18
cmake integrates projects that use the common CMake build tool with your snaps core24
core22
core20
core18
make integrates projects using the commonly found make build system core24
core22
core20
core18
matter-sdk integrates projects that use the Matter SDK, commonly used for Matter applications core24
core22
meson integrate projects build using the Meson build system into your snap core24
core22
core20
core18
qmake integrates projects using the qmake build tool, commonly by Qt-based projects core22
core20
core18
scons integrates projects that use the SCons construction tool core24
core22
core18
waf integrate projects using the Waf build automation tool core18

Platforms

Linux kernel

Plugin name Description Base support
kbuild build parts that use the Linux kernel build system (kBuild) core18
kernel derived from the kbuild plugin and used to build your own kernel core18

Robot Operating System (ROS)

Plugin name Description Base support
ament uses ament_cmake to build parts for version 2 of the Robot Operating System (ROS 2) core18
catkin build catkin-based parts, typically used with version 1 of the Robot Operating System (ROS 1) core20
core18
catkin-tools alternative method for building projects using version 1 of the Robot Operating System (ROS 1) core20
core18
colcon build colcon-based parts, typically used with version 2 of the Robot Operating System (ROS 2) core24
core22
core20
core18

Tools

Plugin name Description Base support
dump simply dumps the contents from the specified source core24
core22
core20
core18
nil useful for parts with no source to import core24
core22
core20
core18
plainbox-provider create parts containing a Plainbox test collection known as a provider core18

Last updated 6 months ago.