This is a work in process project. The goal is to be able to bundle up Scala software built with SBT for native packaging systems, like deb, rpm, homebrew, msi.
Add the following to your project/plugins.sbt
or ~/.sbt/plugins.sbt
file:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.6.2")
Then, in the project you wish to use the plugin, add the following settings to your build.sbt
:
packagerSettings
or to a Project
instantiation in build.sbt
/project/Build.scala
:
settings(com.typesafe.sbt.SbtNativePackager.packagerSettings:_*)
Using the sbt-native-packger plugin requires a bit of understanding of the underlying packaging mechanisms for each operating system it supports. The generated documentation for the plugin is still a work in progress.
Here's an example using the java_application archetype to create native packaging:
packageArchetype.java_application
name := "A-package-friendly-name"
packageSummary in Linux := "The name you want displayed in package summaries"
packageSummary in Windows := "The name you want displayed in Add/Remove Programs"
packageDescription := " A description of your project"
maintainer in Windows := "Company"
maintainer in Debian := "Your Name <[email protected]>"
wixProductId := "ce07be71-510d-414a-92d4-dff47631848a"
wixProductUpgradeId := "4552fb0e-e257-4dbd-9ecb-dba9dbacf424"
A more complex project, which bundles the sbt project, can be found here.