sbt 0.11でSWTを使う
sbt 0.11でSWTを使う方法(たぶん0.10系も同じ)。ググって出てきたのが0.7系の情報ばかりではまった…。
とりあえずlibの下にswt.jarを配置。
build.sbtに以下を記述。これがないと2回目のrunでこける。
fork in run := true
Macの場合はjava起動時に"-XstartOnFirstThread"が必要となる。Macでだけ動けばいいならbuild.sbtに以下を記述。(0.7系の場合はrunJVMOptionsらしい。)
javaOptions in run += "-XstartOnFirstThread"
"-XstartOnFirstThread"は非Mac環境ではエラーになるので、他環境でも動かしたい場合はproject/Build.scalaなどでMacの場合だけオプションが足されるように記述。
import sbt._ import Keys._ object HogeBuild extends Build { lazy val root = Project( id = "", // set in build.sbt base = file("."), settings = rootSettings ) def rootSettings = { if (isMacOSX) Defaults.defaultSettings ++ Seq (javaOptions in run += "-XstartOnFirstThread") else Defaults.defaultSettings } def isMacOSX: Boolean = { val name = System.getProperty("os.name") name != null && name.contains("Mac") } }