2.1.0.RC1とcloud-foundryプラグインの指定
いつも通りの本体バージョン更新をしてて上手く動かなかったので、、、、
もしかしたら、自分の環境だけかも。
でもまあ、他のプラグインにも同じ事が言えるのでブログろうと。。
若干説明すると、プラグインがプラグインの依存を持っていて、そのプラグインからのプラグイン依存が見つからないとかで、よくわからんエラーがでるとかハマった時に、こうすれば良いよってお話。
プラグインの設定を、BuildConfig.groovyのpluginsで行い、対象のプラグイン定義DSLブロックの中にexclude又はexcludes(※複数の場合)を記述してプラグインの依存を除外するのです。ま、jarとかの依存管理も同じですが。
今回の例だとBuildConfig.groovyのpluginsの中に:
compile ':cloud-support:1.0.9' compile(':cloud-foundry:1.2.1'){ excludes 'cloud-support','release' }
これで解決でつ。
と、まあ、結論から話し始めましたが、経緯を説明。
- 既存プロジェクトを2.1.0.RC1に更新
- grails cleanとかを実行
- Failed to resolve dependenciesで、- org.grails.plugins:cloud-support:[1.0.7,)となる。
つか1.0.7は、スナップショットレポに1.0.7-SNAPSHOTがあるけど、リリースレポには存在しない。。。。
↑これだとinstall-pluginコマンドで、application.propertiesにプラグインが記述される方法だと、依存解決できなくて初心者が諦めるような流れになる。
- とりま、http://grails.org/plugin/cloud-support を見たところ、0.9が最新なのでそれに調整しようと。
- ふと、これって知らない人は知らないなと、ブログる事に。
と、まあ、こんな経緯です。
ivyを使わなくなって、mavenのみな状態になってから、バージョンの見方が変わったのかな??まあ、そこまでは追求してる時間がないので、たぶん他の人が教えてくれると期待してますぅ。
追記:2.1.0.RC1(きっとバグ)では、以下をrepositoriesブロックに追加が必要
grailsRepo "http://plugins.grails.org"