ユーザ用ツール

サイト用ツール


sbt

sbt

scalaのビルドツール。特徴は非常に分かりにくく使いにくいこと

java optionを渡す

コマンドラインオプションで渡す方法

sbt -J-Dlogback.configurationFile=test.conf test

環境変数で渡す

export JAVA_OPTS="-Dlogback.configurationFile=test.conf"
sbt test

build.sbtに書く(forkをfalseにすると無効になるので注意)

javaOptions in Test ++= Seq(
  "-Dlogback.configurationFile=test.conf"
)

testの実行

sbt test
sbt "testOnly service.HogeServiceSpec" 

1クラスのみテストする場合はtestOnlyでクラス名を渡す、とてもダサい。一つのタスクと見做されるように""で囲む必要がある、とてもダサい。

依存性の指定

mavenリポジトリからライブラリを取得できる

libraryDependencies ++= Seq(
  "org.apach.poi" % "poi" % "4.1.2",
  "org.scalikejdbc" %% "scalikejdbc" % "3.3.5",
  "org.scalatest" %% "scalatest" % "3.0.5" % Test
)

groupId % artifactId % version の形式で指定する。scala向けライブラリの場合、artifactId に scalaバージョンが指定されているものがある。例えばscala 2.12向けライブラリの場合

"org.scalikejdbc" % "scalikejdbc_2.12" % "3.3.5"

となるが、以下のようにscalaバージョンを省略して記法を使うのが一般的。%%を使うと今のランタイムを確認して適切なscalaバージョンを補完してダウンロードする

"org.scalikejdbc" %% "scalikejdbc" % "3.3.5"

末尾に % Test がある場合は、そのライブラリはテスト実行時にのみ使用される

  "org.scalatest" %% "scalatest" % "3.0.5" % Test
sbt.txt · 最終更新: 2020/06/09 06:48 by nullpon