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パラメータの削除。JavaかScalaかは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の方がいいような気がしなくもない。
ここまでやったところで、とりあえず見た感じ動作するようになったので終了。