GroovyFX 初の正式リリース(翻訳)
GroovyFX v0.1が、Mavenのセントラルリポジトリから、またはGroovyFXのwebサイトから直接バイナリJarファイルとして(「Community」の下の「Download」リンクか、あるいはここをクリック)入手できるようになりました。このリリースはJavaFX v2.0.2と互換性があります。
GroovyFXをJavaFX v2.1開発者プレビュー版と一緒に使う必要がある場合には、GroovyFX v0.2のスナップショットを使う必要があります。このポストの後半部分でその例を示します。
Grab対応
GroovyFXがMavenセントラルにあることで(SonatypeのOSSホスティングのおかげです!)シンプルなテストから大きなプロジェクトまで、どんな場面でもGroovyFXを簡単に使えるようになります。GroovyのGrapeシステムの一部であるGrab
アノテーションを使った、次のシンプルなスクリプトを考えてみてください。
このスクリプトは、以下のようにしてコマンドラインから簡単に実行できます
groovy -classpath $JAVAFX_HOME/rt/lib/jfxrt.jar helloGroovyFX.groovy
プロの小技:GroovyFXプロジェクトのフェロー・メンバであるDierk Königは、どのGroovyスクリプトでもJavaFXライブラリを利用できるようにする、以下の小技(このページでも説明されています)を提案してくれました:
mkdir ~/.groovy/lib ln -s $JAVAFX_HOME/rt/lib/* ~/.groovy/lib/
これで次のようにタイプできます:
groovy groovyFXHello.groovy
プロジェクトのビルド
GroovyFXは、次のGradleスクリプトで示すように、単にビルドファイルの依存関係にそれ自身を含めることにより、より大きなGradleやMavenプロジェクトの一部になることができます。
このビルドスクリプトは、JavaFXライブラリを見つけるためにJAVAFX_HOME環境変数を使っています。また、MavenセントラルリポジトリにあるGroovyFX 0.1への依存関係を宣言しています。
さらに、Dierk考案のmakeDirsタスクも取り込んであります。このスクリプトをプロジェクトのルートディレクトリにコピーしておけば、gradlew makeDirsを実行して、src/main/ や src/test といったディレクトリを含んだ、標準的なMaven/Gradleのプロジェクト構造を作ることができます。
次に、前述のGroovyFXのHello Worldスクリプトを src/main/groovy ディレクトリにコピーします(ここでは、Gradleビルドスクリプトの中でGroovyFXへの依存関係を明示的に宣言しているので、@Grabアノテーションは削除します)。そしてgradlew clean runを実行すれば、プロジェクトがコンパイルされ、実行されて、このポストの冒頭に示したウィンドウが表示されるはずです。
GroovyFX 0.2-SNAPSHOT の利用
最新のJavaFX 2.1開発者プレビュー版と一緒に使いたい場合には、最新のGroovyFX 0.2ライブラリのスナップショットを入手する必要があります。Sonatypeのリポジトリには、最新の0.2に対応したスナップショット版もあるので、前述のGradleビルドスクリプトを以下のように変更すれば使うのは簡単です。
ひとつ注意すべき点は、GroovyFX 0.2ではスタートアップの構文が少し変更されたことです。SceneGraphBuilderを明示的に生成する必要はなくなりました。これは自動的に生成され、delegateとしてstartクロージャに渡されます。以下のスクリプトは、GroovyFX 0.2と互換になるように修正したHello Worldの例です。