Supported plugins


#1

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.

Programming languages

Go

Plugin name Description
go integrates projects written in Go and using the go get package installer
godeps integrates projects written in Go and using the godep dependency tool

Java

Plugin name Description
ant Ant build system integration, commonly used by Java projects
jdk integrate projects written using the Java Development Kit (JDK)
gradle integrate projects built using the Gradle build tool with your snaps
maven build system integration with Maven, commonly used by Java projects

Node.js / JavaScript

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

Python

Plugin name Description
python used for parts incorporating projects written with Python 2 or Python 3
python2 (deprecated in favour of the python plugin)
python3 (deprecated in favour of the python plugin)

Other languages

Plugin name Description
dotnet integrates with the Microsoft’s .NET SDK to build core runtime parts
ruby built parts from projects written in Ruby and its Gemfile dependency bundler
rust build parts from projects written in Rust and using Cargo for dependency management

Build tools

Plugin name Description
autotools integrates projects that use the common Autotools suite with your snaps
cmake integrates projects that use the common CMake build tool with your snaps
make integrates projects using the commonly found make build system
meson integrate projects build using the Meson build system into your snap
qmake integrates projects using the qmake build tool, commonly by Qt-based projects
scons integrates projects that use the SCons construction tool
waf integrate projects using the Waf build automation tool

Platforms

Linux kernel

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

Robot Operating System (ROS)

Plugin name Description
ament create ament-based parts, typically used with Robot Operating System 2 (ROS2)
catkin create catkin-based parts, typically used with Robot Operating System (ROS)
catkin-tools works with catkin to help build projects using Robot Operating System (ROS)

Tools

Plugin name Description
copy (deprecated in favour of the dump plugin)
dump simply dumps the contents from the specified source
nil useful for parts with no source to import
plainbox-provider create parts containing a Plainbox test collection known as a provider
tar-content (deprecated in favour of the dump plugin)

The ruby plugin
Snap Documentation
The python plugin
The nodejs plugin
The nil plugin
The autotools plugin
The rust plugin
Snapcraft overview
The dotnet plugin
The gulp plugin
The jdk plugin
The waf plugin
The kbuild plugin
The kernel plugin
Snapcraft parts metadata
The ament plugin
The catkin plugin
The catkin-tools plugin
The scons plugin
The plainbox-provider plugin
The qmake plugin
The meson plugin
The make plugin
The cmake plugin
#2

Hello,

Is it possible to add the links to the examples for each plugin in their respective section on this document?

Thanks


#3

Yes, good idea - I’ll add them to the plugin specific pages. These are also going to link back to the snapcraft.yaml syntax doc that will go up first.