What are key differences between sbt-pack and sbt-assembly? -


i've stumbled upon sbt-pack plugin. development stream seems steady. it's surprising me believed plugin (quoting sbt-pack's headline) "creating distributable scala packages." sbt-assembly (among other features).

what key differences between plugins? when should use 1 on other?

(disclaimer: maintain sbt-assembly)

sbt-assembly

sbt-assembly creates fat jar - single jar file containing class files code , libraries. evolution, contains ways of resolving conflicts when multiple jars provide same file path (like config or readme file). involves unzipping of library jars, it's bit slow, these heavily cached.

sbt-pack

sbt-pack keeps library jars intact, moves them target/pack directory (as opposed ivy cache live), , makes shell script run them.

sbt-native-packager

sbt-native-packager similar sbt-pack started sbt committer josh suereth, , maintained highly capable nepomuk seiler (also known muuki88). plugin supports number of formats windows msi file , debian deb file. recent addition support docker images.

all viable means of creating deployment images. in cases deploying application web framework etc., might make things easier if you're dealing 1 file opposed dozen.

honorable mention: sbt-progard , sbt-onejar.


Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -