そろそろHudson Plugin SDKについて一言いっておくか

Hudsonの中の人(川口さん)にEmotional Hudsonを紹介してもらったし,一言いっておく。
http://weblogs.java.net/blog/kohsuke/archive/2008/02/emotional_hudso.html
#いい加減,rootURL版に差し替えないと。


...なーんて,エラそうに言うほどの事は何も無いんですけどね。:-D
この前プラグイン作るのはしんどい」言いましたが,SDKのせいじゃなくて自分がヘタレだからです。
むしろ,HudsonのPlugin SDKはよく出来てます。開発環境だって,

> mvn org.jvnet.hudson.tools:maven-hpi-plugin:1.17:create 

対話的にプロジェクト作れたり,

> mvn hpi:run

でJetty起動するしで,言う事ないです(それに,あたしゃIDEA使ってるしね)。


jellyはちょっと独特ですが,やってる事はJSP+JSTLと大差ないし,土台にstapler使ってるの知ってるから,View-Model連携まわりはそっち見りゃいいし,APIにしたって,あんだけありゃ十分でしょう。なにより,プラグインのソースあるし。
逆に文句あるヤツ,ちょっとこっちこいって感じです。:-)


ただ,あたしの場合,仕事の合間とか夜の空き時間とか,せいぜい3,4時間くらいで作れる事が作成基準になっているので,それ以上気合いがいるのはちょっと無理。そもそもの動機が仕事のお手伝いツールだったり,単なる息抜きだったりするんで半日以上かかると本末転倒になるからです。


なので「cvs.exe入れんのたりーから,jCVSプラグインとかどうかなぁ」と思って,perforceやvssプラグインのソース覗くんですが,(量が多くて)おなかいっぱいになったり,「StatSVNプラグインとかあるといいなぁ」と思うけど,antで作ってArtifactに指定すりゃいいかと思うワケです。
#これらが先の「しんどい」の理由です。


だから,今のままでも問題ないですよー。>川口さん


ちなみに,Hudson-coreにGroovy入っているんで,プライン本体をGroovyで記述するのは,そう面倒な話じゃないんだろうなぁと思ってました(ビルド時にgroovycかますだけかなーって)。
あとHudson-coreにJellyの代わりにGroovy(MarkupBuilder)で記述してるのを見かけましたが「おもろいな」と思う反面,「i18nとかどうすんだろ?」とも思いました。


Groovyで記述できるってのも面白いと思います。でも,なんだかんだで毎回"mvn hpi:run"を繰り返すのであれば,Groovy(スクリプト言語)の良さも半減かなーって気はします。ただ,hot deployできなくても,Groovyの記述性を享受できるってのはありますけどね。


ps.
あ,そうだ。せっかくだから,提案と要望(苦言?)を一個ずつ。:-)

提案:"mvn hpi:run"で起動するとき,コンテキストパスはルート(/)じゃないほうが良いと思います(ベタですが"/hudson/"とかにしとくとか)。
要望:Stapler plugin for IntelliJ IDEAですが,JDK5用のPlugin SDKでビルドしてくれると,OSXユーザが喜びますよ。;-)


以上,好き放題言ってスンマセン。