Packaging FormatsΒΆ
There is a plugin for each packaging format that native-packager supports. These plugins can rely on each other to reuse existing functionality. Currently the autoplugin hierarchy looks like this
SbtNativePackager
+
|
|
+-------+ Universal +--------+-------------+----------------+
| + | | |
| | | | |
| | | | |
+ + + + +
Docker +-+ Linux +-+ Windows JDKPackager GraalVM native-image
| |
| |
+ +
Debian RPM
If you enable the DebianPlugin
all plugins that depend on the DebianPlugin
will be enabled as well (LinuxPlugin
, UniversalPlugin
and SbtNativePackager
).
Each packaging format defines its own scope for settings and tasks, so you can customize
your build on a packaging level. The settings and tasks must be explicitly inherited. For the mappings
task this
looks like this
Docker / mappings := (Universal / mappings).value
To learn more about a specific plugin, read the appropriate doc.
Tip
You may also need to read the docs of the dependent plugins. We recommend always that you read the Universal Plugin documentation because all plugins rely on this one.