Grail でプラグインを利用する際に、application.propertiesに書く方法と、開発中などで、ローカルにあるプラグインディレクトリを参照するように、BuildConfig.groovyに書く方法の二通りある。
application.properties の場合は、
plugins.data-import=0.8
としてやる。BuildConfig.groovy の場合は、
grails.plugin.location."dataimport"="../DataImport"
などとしてやる。
プラグインを開発中に、プラグインリポジトリにリリースする段階まで行ってなくて、プラグインを別プロジェクトに入れてテストする時は、BuildConfi.groovy に書く方法は、便利だ。
しかし、buildConfig.groovy に書く方法だと、ちょっと、面倒なことに遭遇した。
バグなのか、はたまた、やり方が悪いのかわからないけど、プラグインの中にあるviewを表示するプラグインの中のControllerを呼び出すと、viewがないといって、エラー画面になってしまう時がある。
エラー画面になってしまうのは、どうやら、プラグインがキャメルケースなっている場合のようだ。
Import というプラグインであれば、問題は発生しないけど、 DataImportというプラグインの場合は、viewが見つからなくて、エラーになってしまう。
Grails 内部で、キャメルケースをハイフン分けになった場合に対応できていないのかよくわからないけど、キャメルケースでは、どうやっても、参照できなかった。
ある程度プラグインが整ってプラグインリポジトリにリリースして、application.properties に記述する方法に切り替えると、ちゃんと、viewが表示される。
BuildConfig.groovyの方法は、開発中には便利なため、使いたいのだけど、こういう理由により、なかなか、便利に使えない。
一時的に、プラグインを読み込むプロジェクトに、viewをコピーしてやって、テストするしか解決方法はなかった。
便利に使いたいのだけど、使えない。うーん、面倒だなぁ