やりたいこと
Java のコマンドラインアプリケーションをデプロイするときに Gradle の application プラグインの distZip
を使ってアプリケーションの実行に必要な依存ライブラリや実行スクリプトをまるっと用意するというのをよくやっていました。
sbt でのビルドを前提として Scala で開発しているときに同等のことができないかと探していたら、 SBT Native Packager Plugin にたどり着きました。
使い方
使い方は公式サイトに記載のとおりですが、Java コマンドラインアプリケーションでの例を以下にも書いておきます。
1.project/plugins.sbt
に以下を追加
project/plugins.sbt
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.3")
2.build.sbt
に以下を追加
build.sbt
enablePlugins(JavaAppPackaging)
3.コマンドラインで以下を実行
sbt universal:packageBin
以上で target/universal
に distZip
と同様の zip ファイルが生成されます。
その他
zip 形式だけでなく、Native Packager では他にもいろいろな形でパッケージングできます。
以上、「Gradle distZip」と「sbt」で検索したとき用のポストでした。(すぐに辿りつけなかったので)