Play2.0で書いたサンプルを2.1対応にしてみる

Play2.1が出たので、試しに以前書いたサンプルマイグレーションガイドを見ながら2.1対応にしてみた。

https://github.com/tarhashi/Play-AngularJS-Sample/tree/2.1

project/plugins.sbtを修正

addSbtPlugin("play" % "sbt-plugin" % "2.1.0")

mainを修正

project/Build.scalaにimportを追加

import play.Project._

play.Projectへの修正と、mainLangパラメータの削除。JavaScalaかはappDependenciesにjavaCoreが入ってるかどうかで判別するようだ。

val main = play.Project(apName, appVersion, appDependencies).settings(
//...
)

sbtのバージョンを修正

project/build.propertiesを修正

sbt.version=0.12.2

ここまでやったところで、マイグレーションの通り以下を実行。

play clean
play ~run

すると、以下のエラーが出た。

[error] (*:update) sbt.ResolveException: unresolved dependency: org.squeryl#squeryl_2.10;0.9.5-2: not found
[error] unresolved dependency: com.github.tototoshi#lift-json-play-module_2.10;0.1: not found

ここからはプロジェクト独自の修正がメイン。

squerylのバージョンを変更

project/Build.scalaを修正して対応したバージョンにする。

val appDependencies = Seq(
    "org.squeryl" %% "squeryl" % "0.9.5-6"
)

//...
libraryDependencies ++= Seq(
//...
"org.squeryl" %% "squeryl" % "0.9.5-6"
)

appDependenciesにjdbcを追加

次に、object db is not a member of package play.apiとエラーが出たのだが、appDependenciesにjdbcを追加すればいいようなので追加。

val appDependencies = Seq(
    jdbc,
    "org.squeryl" %% "squeryl" % "0.9.5-6"
)

lift-json-play-moduleの部分の対応

Jsonの処理についてはPlayのJsonモジュールに書き換えて対応してみた。でもlift-jsonの方がいいような気がしなくもない。

ここまでやったところで、とりあえず見た感じ動作するようになったので終了。