『Grails Maven Publisher プラグインで、Grails プラグインをローカルインストールするよん』を試すときに注意すべきたった1つのこと

ホッテントリメーカくさいタイトル。


ちょうど必要があったので、 Grails Maven Publisher プラグインで、Grails プラグインをローカルインストールするよん - leftovers... を読んでやってみました。


連携させるところまでは非常に簡単でしたが、プラグインの更新がメンドかった・・・。
というわけで、言うほどのことでもないかもしれませんが、メモっておきます。


元記事と同じように、↓というプラグインを仮定します。

'jp.xmldo.grails:resources:0.3.3-SNAPSHOT'

アプリの名前はmainappと仮定します。

オレオレプラグインを更新した場合の手順

  • (1) プラグインのプロジェクト側でローカルのMavenリポジトリのプロダクトを置換する。
    $ grails maven-install
  • (2) Ivyのキャッシュを削除する。
    $ rm -r ~/.ivy2/cache/jp.xmldo.grails/resources

ここの手順は、grailsのinstall-pluginsで代替(?)することも可能だった。

    $ grails install-plugin jp.xmldo.grails:resources:0.3.3-SNAPSHOT

これを実行すると再度ローカルのMavenリポジトリ(~/.m2)を元にIvy2にキャッシュが更新された。

しかし、~/.grails配下のpluginsが更新されない。これがバグである気がする...。

  • (3) プラグインを利用するアプリのプロジェクトに関するワークディレクトリ(?)から、プラグインのディレクトリを削除する。
    $ rm -r ~/.grails/1.3.5/projects/mainapp/plugins/resources-0.3.3-SNAPSHOT
  • (4) mainapp側で、Grailsを起動する。
    $ grails test-app

※プラグイン解決処理が走れば何でもOk.


EclipseGrailsプラグインを使ってる場合(STSも含む)は、下もやった方が良いです。

  • (5) Grails側でプロジェクトのCleanビルドを行う。
  • (6) Grails側でプロジェクトの右クリックから [Grails Tools>Reflesh Dependencies]を実行する。


おそらくこれで更新が完了するはず。