読者です 読者をやめる 読者になる 読者になる

Grailsをソースコードからビルドする方法

grails

Grailsソースコードを手に入れる

Grailsはgithubでソース管理されてます。

ここからさくっとgit cloneしましょう。

$ cd $ANY_DIR
$ git clone git://github.com/grails/grails.git grails-git

※全体的に"$ANY_DIR"はお好きなディレクトリに読み替えてください。リポジトリ名もお好きな名前でどうぞ。


cloneしたリポジトリには、いくつかのサブプロジェクトのディレクトリが含まれています。"grails"というディレクトリが、Grails本体の開発用ディレクトリになります。

ビルドする

デフォルトのAntタスクになっているpackageでは、javadocやgdoc(Groovyのドキュメント)も生成します。

$ cd $ANY_DIR/grails-git/grails
$ ant
...
Javadoc生成とかすごく遅いし重い・・・
...


このJavadoc生成は非常に多くのメモリ使うのでANT_OPTSで指定しないとOutOfMemoryでコケます。

export ANT_OPTS=-Dfile.encoding=utf-8 -Xmx1024m

などを、.bashrcとかに指定しておくとよいです。


しかし、実は、以下のようにpackage-minimalターゲットを使えば、Javadocとgdoc生成がスキップできます。
ちょっと行儀は悪いですが、testSkips変数をtrueにすればテストもスキップできます。

試行錯誤時はこれがお勧めです。

$ ant -DtestSkips=true package-minimal
11/3 15:50追記

id:atosimituさんからトラックバックをいただいたので確認してみました。

確かに、ant/build/bundle.xmlをよく見てみると、clean, jarの2つのタスクでOKみたいですね。
package系のタスクは必要ファイルをzipとtar.gzに固めるだけで、jarをすれば必要ファイルは作業ディレクトリ配下に揃うようです。


あと、それから、package-minimalタスクやjarタスクではユニットテストのタスクに依存していないので、いちいち-DtestSkips=trueを指定しなくてもOKでした。


というわけで、試行錯誤時にお勧めのantコマンドは以下でFAっぽいです。

$ ant clean jar 

ずいぶん、シンプルになりました。

ビルドしたGrailsを使う

ビルドしたバージョンを使う場合は、以下のようにGRAILS_HOMEを指定します。
PATHにもこちらのバージョンを入れておきましょう。

$ export GRAILS_HOME=$ANY_DIR/grails-git/grails
$ export PATH=$GRAILS_HOME/bin:$PATH


つかってみて、以下のように表示されればOK.

$ grails
Welcome to Grails 1.2-SNAPSHOT - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /Users/nobeans/Developer/runtime/grails

No script name specified. Use 'grails help' for more info or 'grails interactive' to enter interactive mode

※時期によって”1.2-SNAPSHOT”は当然変わります。


Let's enjoy happy hacking!!