-
Notifications
You must be signed in to change notification settings - Fork 441
Goals
Josh Suereth edited this page Jun 26, 2013
·
4 revisions
The sbt-native-packager is taking the following approach towards design goals:
- Create hooks for packaging applications in a native (or universal) fashion using platform-specific tools, such as:
- Windows Installer XML and MSIs
- RPMs and YUM
- Debian package manager
- generic tar/zip
- Macintosh App bundles Not implemented
- Create an abstraction layer where a common set of definitions can be used to define a Java/Scala package, and is mapped into the underlying settings for each tool.
- Define a "universal" zip/tgz layout
- Define necessary settings, and generic mappings into MSI/DEB/RPM
- Create application archetypes which generate default scripts and layouts for projects that match a particular pattern. These can be used to auto-package your project for various environments. Example archetypes include:
- Server (Play web application, Akka server, etc.). this includes init.d style scripts and/or windows service hooks.
- Command line utility (sbt, giter8, etc.). This includes launcher scripts, via BAT or BASH.