Google App EngineでGrails(その1)

Google App Engine でGrailsが使えるようになったらしいので、早速試してみる。 (といっても、 Grails1.1.1から保障っぽいことが書かれている ので、なんとなく触って手触りを。

入手方法

以下のサイトに Download のリンクがあるのでそこから grails-app-engine-0.4.zip をダウンロードする。

サンプルアプリ作成

適当なフォルダで

1
2
3
4
5
$ grails create-app test-app

$ cd test-app

$ grails install-plugin <DOWNLOAD_DIR>/grails-app-engine-0.4.zip

・・・なんだかエラーが発生した。

どうやら Grails のバージョンが1.0.3なのが原因みたい。

Grails1.1以上で動かさないといけないらしいので、最新Grailsをダウンロードしてインストール。

今度はうまくいったぽい。

1
2
3
4
5
6
7
8
Installed JDO config to est-app/grails-app/confPlugin app-engine-0.4 installed
Plug-in provides the following new scripts:
------------------------------------------
grails app-engine
Found events script in plugin app-engine
No Google AppEngine SDK specified. Either set APPENGINE_HOME in your environment or specify google.appengine.sdk in your

grails-app/conf/BuildConfig.groovy file

設定

いわれたとおり、 grails-app/conf/BuildConfig.groovy file にapp-engine-sdkのパスを設定。

てか、そんなファイルはできていなかったのでファイル作成してから。

1
$ touch grails-app/conf/BuildConfig.groovy file

以下の記述を追記。

google.appengine.sdk="C:/appengine-java-sdk" 

実行

grails war を実行すると適当な appengine-web.xml 作られるよ、と書いているので実行してみる。 当然この時点では .war は存在しない。

実行後、 test-app-0.1.war ができたので、こいつをunzipしてみる。

1
$ unzip test-app-0.1.war

展開されたフォルダのWEB-INFを除いてみると・・・お!!! appengine-web.xml できてる!!

えらいかわいらしい内容だけど。

1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>test-app</application>
    <version>0.1</version>
</appengine-web-app>   

classes フォルダの下に

  • datastore-indexes.xml
  • jdoconfig.xml

も作ってくれていて、結構いい感じ。

ほんとにapp engineで動作しないのか試してみたいけど、それは週末ゆっくりやる。

domainクラス作ってみるのはまた後で。