Keep on moving

あんまりまとまってないことを書きますよ

Scala+Play! frameworkの環境を作る

Scalaの初心者なので、環境をつくるエントリーをまとめておく.

scalaの導入

scala本家からダウンロードしてPATHを通す。
Play! Scalaモジュールは2.8.Xが対照なのでこちらを入れておくこと。

export SCALA_HOME=/path/to/scala
export PATH=$SCALA_HOME/bin:$PATH

play! frameworkの導入

play! frameworkをダウンロードして、PATHを通しておく

export PLAY_HOME=/path/to/play
export PATH=$PLAY_HOME:$PATH

play! scalaプラグインを導入

$ play install scala
$ play new helloworld --with scala
<||

** IntelliJ用にプロジェクトを変換

>||
$ play idealize helloworld/
~        _            _ 
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/   
~
~ play! 1.2.2, http://www.playframework.org
~
~ OK, the application is ready for Intellij Idea
~ Use File/New Module/Import Existing module
~

一度実行して、ちゃんと画面が表示されることを確認しておく。
$ play run

画面に出たとおりに、IntellijでModuleとしてImportする。
IntelliJから新規にプロジェクトを作成して、Moduleを追加すること。
f:id:Ehren:20110810234631p:image:w640

File/Project Structreで設定

以下のように設定する。

temp/generated フォルダを追加する。
f:id:Ehren:20110811001617p:image:w640

compiler libralyでScala-compiler-2.8.Xを選択する。(これはIntelliJでScalaを始めて起動するときに設定します)
f:id:Ehren:20110811002821p:image:w640

ModuleのDependenciesでscala-liblaryを追加する。
f:id:Ehren:20110811002131p:image:w640

Run/Edit Configurations

IntelliJから Run/Edit Configurations で以下のように設定する。

f:id:Ehren:20110811002822p:image:w640

Main class:
play.server.Server

VM parameter
-Dapplication.path="/home/test/codes/scala/helloworld"

Use classpath and JDK of Modules:
上で作成したModuleを選択

ここまで設定すれば、Run/Debugともに実行可能になります。
Debugだとステップ実行もできます。

TESTも出きるようにする

"Project"-"dependencies"に"PLAY_HOME/modules/testrunner/lib/play-testrunner.jar" を設定する。
f:id:Ehren:20110811002823p:image:w640

これでRun/DebugするとTEST modeで起動され、http://localhost:9000/@test が表示できるようになり、テストを走らせることができます。

もう少し調べたい

  • Jenkinsからのテスト
  • テンプレートの補完など

まとめ

プロジェクト作成=>IDEで開発=>実行=>テスト実行まで行うことができました。
Play!flameworkは他のScala が使えるWAFに比べると日本語の情報が助かりました。
これでバリバリアプリが開発できそうです。
先人に感謝