xsbt-start-script-plugin の簡単な使い方

xsbt-start-script-plugin は main クラスの起動スクリプトを作ってくれる sbt プラグインです。 sbt run を使っても実行することができますが、main クラスが複数あるときにキー入力が必要なのが困るんですよね。

まず設定です。(sbt 0.11.2 で試しました)

project/plugins.sbt に下記を追加します。(sbt 0.10.x は別の方法なので注意)

resolvers += Classpaths.typesafeResolver

addSbtPlugin("com.typesafe.startscript" % "xsbt-start-script-plugin" % "0.5.0")

build.sbt に下記を追加します。

import com.typesafe.startscript.StartScriptPlugin

seq(StartScriptPlugin.startScriptForClassesSettings: _*)

これで準備完了。つづいて sbt で

> start-script

とすれば target/start が生成されます。 こんなのがあれば

package com.example

object Inu extends App {
  println("inu")
}

object Neko extends App {
  println("neko")
}

こうやって実行できます。

% ./target/start com.example.Inu
inu

% ./target/start com.example.Neko
neko