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!!