http4s 0.2.0の依存ライブラリについてメモ

http4s 0.2.0 時点での話です。 あと、特にぶつかりそうなライブラリのみ対象にしています。

scalazに依存するライブラリ群

http4s 0.2.0時点では、scalaz 7.0.x系に依存したものが使われています。 というわけで、たぶん他のscalazに依存するライブラリも 7.0.x系を使ったほうがいいんじゃないでしょうか。

scalaz-stream、argonaut、specs2、scalaz-scalacheck-binding、scodecとscalazに依存するライブラリが多いのものの、scalaz-streamのscalaz 7.1.x対応版が出る頃には他のライブラリも対応が完了していると思うので、あとはhttp4s 0.3.0のリリースがいつになるか次第ですかねーという感じ。

(json4s関連はjson4s-scalazを使っているわけではないので大丈夫なはず)

scala-logging

scala-logging-slf4j 2.1.2に依存している影響で、scala-logging 3.0.0は使えません。 私はそれに気がつかずどはまりしました…。

  • scala-logging 3.0.0はScala2.11のみサポート
  • scala-logging 2.1.2がScala2.10とScala2.11の両方をサポート(教えてくださった id:xuwei さんに感謝)
  • http4sはScala2.10とScala2.11をサポート

というわけで、当面はscala-logging-slf4j 2.1.2を使いましょう。

メンテされるのかとかはよくわかっていないのでアレですが、2.1.2と3.0.0で機能にそんなに差があるわけではないような気もします。 (3.0.0でLoggingやAbstractLoggingがなくなってるとかその辺りくらい?)

config

typesafe社のconfig 1.0.0が内部で使われてるみたいです。 別に 1.2.1にあげても影響がそんなにあるわけでもなさそうな…?