Hatena::ブログ(Diary)

leftovers... このページをアンテナに追加 RSSフィード

2010-05-16

MavenでGaelykプロジェクトをサックリ作る。

GaelykGAE/J用の便利軽量ツールキット

Gaelykアップデート - Groovyラボ

少し前にTwitterでみた情報を試したのでメモ。

すぐに試したときは説明通りにやると全くダメダメで、自分Fixして試してみましたが、どうやら、その後修正されたみたいなので、もう一度チャレンジ。

MavenGaelykプロジェクトをサックリ作る。本家サイトはこちら。

Google Code Archive - Long-term storage for Google Code Project Hosting.

そういえば、以前こんな事もやりましたが。これは必要なくなりそうですね。

Gaelykおもしろいのに・・・・。 - leftovers...

では、手順です。

mvnコマンドを実行するだけ、App Engine SDKGroovyGaelykダウンロードは必要ありません。

Step 1. mvn archetype:generateを実行。以下は、プロジェクト名(アプリ名)がmyappの場合。

mvn archetype:generate -DarchetypeGroupId=com.codeconsole \
-DarchetypeArtifactId=gaelyk-archetype -DarchetypeVersion=0.4.1 \
-DarchetypeRepository=http://maven-gaelyk.googlecode.com/svn/repository/ \
-DartifactId=myapp -DgroupId=myapp.appspot.com \
-DgaeApplicationName=myapp

3カ所にアプリケーション名を入れる、-DartifactId=myapp -DgroupId=myapp.appspot.com -DgaeApplicationName=myapp

同じ内容を何度も書くのも、なんだかなぁ〜ですが・・。

Step 2. プロジェクトフォルダmyappができるので、ディレクトリに入る。

cd myapp

Step 3. 起動とかデプロイとか。

mvn gae:run #起動
mvn gae:deploy #デプロイ

ぉぉ、簡単。

これをつかってるんですね。これは知ってる人も多いかと思います。

Google Code Archive - Long-term storage for Google Code Project Hosting.

WicketGWTとかのサンプルも置いてあります。

他のゴールも色々。下のサイトIPなので、そのうちリンク切れするかも。

no title



これ、Gradleに詳しい人!Gradle化してください!

2009-11-07

Grails 1.2-M4 リリースだよ!

Grails 1.2-M4リリースしました

なんだか今回は元々Grails 1.2-RC1の予定だったのですが、どうやらSpring3待ちってことで、Grails 1.2-M4リリースになりました。公式情報によると、11月末にSpring3がリリースになるのでリリース後にGrails 1.2-RC1をリリースして、安定に向けていくようです。

Grails 1.2-M4マイルストーンリリースなので、M1-M3のバグ修正+新規機能追加となります。

詳しくは以前のエントリーも参考にしてくださいなっ。

Grails 1.2-M3 に更新! - leftovers...

Grails 1.2-M2 リリースですよ! - leftovers...

Grails 1.2-M1 リリース & JSUG+JGGUG合同勉強会 お疲れ様でした。 - leftovers...

さて本題!

Grails公式のリリースノート

http://www.grails.org/1.2-M4+Release+Notes

BootStrap に環境指定。

BootStrap.groovy環境の指定ができるようになりました。

def init = { ServletContext ctx ->
        environments {
            production {
                ctx.setAttribute("env", "prod")
            }
            development {
                ctx.setAttribute("env", "dev")
            }
        }
        ctx.setAttribute("foo", "bar")
 }

GORMデフォルト値のグローバル定義

GORMで使用する定義の共通内容をデフォルト値としてgrails-app/conf/Config.groovyに設定できるようになりました。

例えばシーケンスの定義とか。

grails.gorm.default.mapping = {
   cache true
   id generator:'sequence'
  'user-type'( type:org.hibernate.type.YesNoType, class:Boolean )
}

共通利用したい制約を指定とか。

grails.gorm.default.constraints = {
   '*'(nullable:true, blank:false, size:1..20)
}

制約グループ名を定義して、、

grails.gorm.default.constraints = {
   myConstraints(nullable:true, blank:false, size:1..20)
}

ドメインクラスで使用する

static constraints = {
  myProperty shared:"myConstraints"
}

#わぁぁあ、便利!


Webフロープラグイン化(外部化)の追加実装

onEntryやonRender等のWeb FlowイベントGrails Web Flow DSLに実装されました

def searchFlow = {
  onStart {
    println "started"
  }
  onEnd {
    println "ended"
  }

  displaySearchForm { 
    onRender { println "rendering" } 
    onEntry { println "entered" } 
    onExit { println "exited" }

    on("submit") { 
      [results: Book.findAllByTitle(params.title)] 
    }.to "displayResults"

  } 
  displayResults() 
}

Better JSONBuilder

JSONBuilderを大幅修正!JSONレスポンスをこんな感じに返せます。

render(contentType:"text/json") {
	categories = [ { a = "A" }, { b = "B" } ]
}

Which will produce:

{"categories":[ {"a":"A"} , {"b":"B"}] }

以前のバージョンの実装に戻して使用する場合は、Config.groovyに、grails.json.legacy.builder=trueを定義すれば良いです。



とりあえずGrails 1.2-M4はこんな感じです。

他に、自分が注目していたバグFixは、GAE/Jでの問題点を修正した、これです。

no title

この問題は、Grailsのコアメンバーがやらかした訳ではなくて、GitHubソース管理をするようになってからいろんな人がコミットできるようになり、凡ミスをそのままマージしてしまったとこから始まってた感じです。#それに気が付かないのも問題ですが・・・。

まあ、とにかくこれで強引修正しなくてもGrails 1.2が簡単にGAE/Jで動くのを期待。

#休み中に試す!

2009-10-24

Gaelykおもしろいのに・・・・。

以前CCCで話をしたときに最後のほうにGaelykをちょろっと話しただけで、目立ってなかったのでもう一回かいてみる。

JJUG CCC Fall 2009でGrails/Groovyでクラウドな話を話してきた。 - leftovers...

Gaelykって、GAE/J用の軽量Groovy開発ツールキットです。GroovyテンプレートとGroovletで構成されています。

公式サイト

http://gaelyk.appspot.com/

日本語翻訳

Gaelyk - Google App Engine Java用軽量Groovyツールキット

2009-10-14 - Groovyラボ

まあ、そこでザックリ試すツールをGroovyではなくてシェルスクリプトで書いてみた。

環境 Eclipse3.5、GAEプラグイン、最新のGroovyのEclipseプラグイン

又は、SpringSource Tool Suite 2.2.0でGrailsをためしてみた。 - leftovers... を参照してSTS2.2で遊びまくり、飽きたら、Googleのプラグインインストール

とりあえず超テキトーなので、だれか作り直してほしな。

あるいは、Groovyで書き直してほしいな。

#!/bin/sh
echo "creating my gaelyk app base" $1

if [ ! -f gaelyk-template-project-0.2.zip ]
 then
  wget http://cloud.github.com/downloads/glaforge/gaelyk/gaelyk-template-project-0.2.zip
fi

unzip gaelyk-template-project-0.2.zip -d $1
svn checkout http://gcrnagoya.googlecode.com/svn/trunk/gaelyk-eclipse-addon $1
cd $1
sed -i -e "s/gaelyk-project/$1/g" .project
sed -i -e "s/myappid/$1/g" war/WEB-INF/appengine-web.xml
rm -rf .svn
rm -rf **/.svn
rm -rf .*/.svn
rm .project-e
rm war/WEB-INF/appengine-web.xml-e

※wgetが必要です。

上のスクリプトをコピペで作るか、環境がそれっている人は、以下を実行してもいいです。

wget http://grails.jp/sample/gaelyk-setup.sh
chmod 755 gaelyk-setup.sh
echo 'groovy!!!'
./gaelyk-setup.sh myapp001

まずは、gaelyk-setup.shをダウンロードしてきて、次に実行権限をつけ、gaelyk-setup.shの第1引数アプリケーション名を付けて実行!

すると、gaelyk-template-project-0.2.zipをダウンしてunzipして、某リポジトリからEclipse対応用のファイルを引っ張ってセットアップしてくれるよ。

あとは、Eclipseでインポートするだけ。

以下が、試した環境詳細です。


追記:Groovyスクリプトいただきました!ありがとうございます。

Gaelykおもしろそう! - blog4j 2.0

GAE/Jやりたい人は全員JGGUGに入るべき!

日本Grails/Groovyユーザーグループ

2009-10-13

JJUG CCC Fall 2009でGrails/Groovyでクラウドな話を話してきた。

10/8にJJUG CCC Fall 2009でGrails/Groovyでクラウドな話をしてきました。

参加された皆様、お疲れ様でした。

JJUGの運営の皆様、ありがとうございました。

今回の内容。

スライドは、こちらです。

最後のGaelyk(ゲーリック)は話をするのが2回目なのですが、いつも時間がなくて紹介がかけ足になってしまっています。GaelykGAE/Jを簡単に始めるのにコンパクトでわかりやすいGroovyGAE/J用フレームワークです。スライドの後半にGaelykの紹介がのっていますが、Gaelykな内容は近々ブログでも紹介したいと思います。



GroovyGrailsに関してのもっと深い勉強会を、ほぼ毎月JGGUGのGアスタリスクワークショップで行っています。

開催場所は東京・横浜・名古屋・大阪です。他の地域でもG*な勉強会したいですね。

詳しくはJGGUGのホームページhttp://www.jggug.org

2009-08-22

JGGUGサマーイベント2009 「G* on GAE/J 挑戦編」

もちろん来年も夏にやるから2009ってついてるわけで!?

まあ、とにかく参加した皆様おつかれさまでした。

参加できなかった皆様にも、サイトが準備されています。

http://groups.google.co.jp/group/jggug-summer-2009

そして、ネタに使われて実況もしていた。Twitterもあります。

http://twitter.com/jggugsummer2009

そして自分の発表内容 「G* on GAE/J 挑戦編」はこんな感じです。

おしながき

詳しくは以下のプレゼン資料を参照してください。

SlideShareでみれます

http://www.slideshare.net/tyama/g-on-gaej

PDFダウンロード

http://grails.jp/sample/gr_on_gaej.pdf

このほぼ同じ内容とか、コマンドのコピペとか、コードの断片とか、各フレームワークの設定方法とかは、以下を参照してください。

http://groups.google.co.jp/group/jggug-summer-2009/web/g-on-gae-j


資料を作るときのトラブルとか、バグとの戦いとか、本番の時間の押しとかは、あたりまえに予測しておくべきですね ;-)。いろいろ補足説明は後日書きます。

あと、懇親会でTDDとかの話いろいろ勉強になりました。ありがとうございました。


で、次回はいつにしましょうか!?