Packaging FormatsΒΆ

There is a plugin for each packaging format, 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
          |           |
          |           |
          +           +
        Debian       RPM

If you enable the DebianPlugin all dependend plugins 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

mappings in Docker := (mappings in Universal).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 to read the Universal Plugin documentation as all plugins rely on this one.