build.sbtの依存ライブラリ定義例一覧

build.sbtで定義する依存ライブラリの具体例を列挙してみた。
URLはバージョン一覧もしくは最新のバージョンを確認できる場所で、一部プラグインの設定も含む。
libraryDependenciesの基本形は以下の通りでconfigurationは省略可。
<pre>
libraryDependencies += groupID % artifactID % revision % configuration
</pre>
http://www.scala-sbt.org/0.13/docs/ja/Library-Dependencies.html
groupIDの後ろを「%%」とすると定義されたscalaのバージョンをartifactIDに追記してくれる。
[%% を使って正しい Scala バージョンを入手する](http://www.scala-sbt.org/0.13/docs/ja/Library-Dependencies.html#%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E6%AD%A3%E3%81%97%E3%81%84+Scala+%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E5%85%A5%E6%89%8B%E3%81%99%E3%82%8B)

## playframework
https://www.playframework.com/download
playframework用の共通ライブラリを作りたい場合はこれを入れる
<pre>
libraryDependencies += "com.typesafe.play" %% "play" % "2.3.10"
</pre>

## play.cache (playframework)
https://www.playframework.com/download
バージョンはplayと同じと思われる。
<pre>
libraryDependencies += "com.typesafe.play" %% "play-cache" % "2.3.10"
</pre>

## play-slick
https://github.com/playframework/play-slick
<pre>
libraryDependencies += "com.typesafe.play" %% "play-slick" % "0.8.0"
</pre>

## specs2
テスティングフレームワーク。
http://mvnrepository.com/artifact/org.specs2
<pre>
libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test"
//Spect2+JUnitのテスト定義例
testOptions += Tests.Argument(TestFrameworks.Specs2, "console", "junitxml")
</pre>

## scalatestplay
テスティングフレームワーク。
1.5を境に記述方法が異なるので注意
1.5以降
http://mvnrepository.com/artifact/org.scalatestplus.play/scalatestplus-play_2.11
<pre>
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % "test"
</pre>
1.5以下
http://mvnrepository.com/artifact/org.scalatestplus/play_2.10
http://mvnrepository.com/artifact/org.scalatestplus/play_2.11
<pre>
libraryDependencies += "org.scalatestplus" %% "play" % "1.4.0" % "test"
</pre>

## mockito
mock作成ライブラリ。
http://mvnrepository.com/artifact/org.mockito/mockito-all
<pre>
libraryDependencies += "org.mockito" % "mockito-all" % "1.10.19" % "test"
</pre>

## JUnit
テスティングフレームワーク。
http://junit.org/
<pre>
libraryDependencies += "junit" % "junit" % "4.12" % "test"
//Spect2+JUnitのテスト定義例
testOptions += Tests.Argument(TestFrameworks.Specs2, "console", "junitxml")
</pre>

## SCCT (Scala Code Coverage Tool)
コードカバレッジ計測ツール。
https://github.com/sqality/scct
<pre>
//project/plugins.sbt
addSbtPlugin("com.sqality.scct" % "sbt-scct" % "0.3")

//build.sbt
ScctPlugin.instrumentSettings
</pre>

## sbt-assembly
依存関係含めてパッケージ化するプラグイン。
jarファイルのみで実行可能となる。
https://github.com/sbt/sbt-assembly
<pre>
//project/plugins.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")

//build.sbt
assemblySettings
</pre>

## sbteclipse-plugin
Eclipse用プラグイン。
activator eclipseが実行可能になる。
https://github.com/typesafehub/sbteclipse
<pre>
//project/plugins.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
</pre>

## scalaj-http
http://mvnrepository.com/artifact/org.scalaj/scalaj-http_2.11
<pre>
libraryDependencies += "org.scalaj" %% "scalaj-http" % "0.3.16"
</pre>

## scalaStyle
scalaのコーディングスタイルチェッカー。
http://www.scalastyle.org/sbt.html
<pre>
//project/plugins.sbt
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0")
</pre>
下記XMLをscalastyle-config.xmlにリネームしてプロジェクトルート直下に置く。
http://www.scalastyle.org/scalastyle_config.xml

## apache HttpClient
HTTPS通信するためのライブラリ。
http://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
<pre>
libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.5.1"
</pre>

## aws-java-sdk
http://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk
<pre>
libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.10.54"
//上記の記述だと必要ないものが大量に追加されるので、基本的には使いたいものだけ追加すればOK
libraryDependencies += "com.amazonaws" % "aws-java-sdk-s3" % "1.10.54"
</pre>

## aws-lambda-java-core
http://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core
lambda用のソースコードを実装する際に使用する。
<pre>
libraryDependencies += "com.amazonaws" % "aws-lambda-java-core" % "1.1.0"
</pre>

## mysql-connector-java
http://mvnrepository.com/artifact/mysql/mysql-connector-java
<pre>
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.39"
</pre>