Grails Maven Publisher プラグインで、Grails プラグインをローカルインストールするよん
GrailsプラグインをMavenで管理。簡単にローカルのみでね。
何故?
- 公式プラグイン公開するほどでもない。=>( チキンなので公開できない )
- 今回のプロジェクト専用プラグインだし。
- 共有できるプライベートなチーム用プラグインリポジトリを作るのもな・・・。 #メンバの所在地的には、グローバルに無いとだめだし、となるとサーバ準備、VPNとかもろもろ準備しないと・・・。
- インラインプラグインで扱うのもよいけど・・・。hudsonのビルドでプラグイン自動解決がね。
- そもそもインラインプラグインで、おかしな挙動が => バグかなw
まあ、他にも、いろいろありまして。この決断。
資料。
http://www.slideshare.net/tyama/jggug-2010-330-grails-13
※過去の自分のスライド。 => 23p
http://grails.org/doc/latest/guide/3.%20Configuration.html#3.7.7%20Plugin%20JAR%20Dependencies
http://d.hatena.ne.jp/mottsnite/20100311/1268261367
では、やってみる。
対象のGrailsプラグインプロジェクトにmaven-publisherプラグインをインストール
% grails install-plugin maven-publisher
プラグインディスクリプタファイル(XxxGrailsPlugin.groovy)に、group設定
※いまだドキュメントには・・・。
class ResourcesGrailsPlugin { def group = 'jp.xmldo.grails' def version = "0.3.3-SNAPSHOT" //..略.. }
GrailsプラグインをローカルMavenリポジトリにインストール
% grails maven-install
そして、実際にプラグインを使用したいプロジェクトへ依存関係を追記。
上記の例だと、'jp.xmldo.grails:resources:0.3.3-SNAPSHOT' となる。
grails.project.dependency.resolution = { inherits("global") { } log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose' repositories { grailsPlugins() grailsHome() grailsCentral() mavenLocal() //←これ重要 mavenCentral() } dependencies { } plugins { //こんな感じで書く。 runtime 'jp.xmldo.grails:resources:0.3.3-SNAPSHOT' } }
まとめ。
- 超簡単にできる。