ScalaFXのgiter8テンプレートを作った
目的
Scala発火村 in 天領倉敷 - 天領倉敷Scala | Doorkeeper に向けて、何か新しい物を作ってみたいので、そのためのgiter8テンプレートを作っておこうと思いました。
作ろうと思っているアプリは以下です。
- デスクトップアプリ
- 写真とイメージをタグ付け
- どのスライドに使った写真家をひも付け
という訳で、以下のライブラリを含んでいるプロジェクトテンプレートを作成しました。
- ScalaFX
- Specs2
やったこと
元々ScalaFXのためのgiter8プロジェクトは存在していますが、テスティングフレームワークがScalaTestになっています。
また、Scalaのバージョンが2.9系だったこともあり*1、以下のリポジトリをフォークして以下の作業しています。
https://github.com/jugchennai/scalafx.g8
- Scalaのバージョンをあげる(2.9系から2.10.2へ)
- 以下のプラグインのバージョンを最新版へ
- sbt-idea
- sbt-eclipse
- sbt-assembly
- テストライブラリをSpecs2に変更
- .gitignore追加
途中sbtのバージョンを勘違いしていて、sbt-ideaのバージョン指定に間違いに気づかないところもあったりしましたが、大きくはまることもありませんでした。
課題
環境変数JAVA_HOMEに依存しているところをなんとかしたいです。
あまりJAVA_HOMEは設定したくないので、パラメータ渡しに変更しようかと思っています。
今は、JAVA_HOMEを指定するか、指定しない場合はProject StructuredのLibrary Pathを直接変更する、ということにしています。
それと、sbtでビルドに使っているバージョンと、プロジェクトに指定しているバージョンが違う場合、sbt-ideaは両方のバージョンのScalaコンパイラにパスを通して、ビルドで使っている方を優先するっぽいです。
とりあえず、Project Structuredで2.9.2(sbtで使っているバージョン)を削除して、2.10.2を指定し直せば良いのですが、sbt-ideaでプロジェクトを取り込むたびにこれをするのもなあ、と思っているところです。