Hatena::ブログ(Diary)

Fly me to the Juno! このページをアンテナに追加 RSSフィード Twitter

2008-01-26

Pluginのテストを自動化するには(その7番外編:ECFプロジェクトのCIプロジェクト)

ECF(Eclipse Communication Framework)プロジェクトではCIツールにCruiseControlが使われているということをこのプロジェクトで知りました。(これまでは噂で聞いたことがあったくらいです。)READMEがしっかりしていた点と、自分自身の備忘録をかねてどの辺にあったか、パスを書いておきます。

  • Host : dev.eclipse.org
  • Repository Path : /cvsroot/technology
  • Module : org.eclipse.ecf/builds
  • Tag : HEAD

残念ながらCI時にはテストはながしていない模様。

Pluginのテストを自動化するには(その7:拡張ロケーションを使ってデプロイする)

今回テストプラグインのデプロイをする方法を考えてみたんですが、直接テストをするためにEclipseインストールロケーションにプラグインを展開するのはためらわれます。テストの初期化時に毎回100MB近いEclipseの配布ファイルを解凍し、テストプラグインをその中に放り込むのも考えたのですが、効率が悪過ぎでしょう。できれば拡張ロケーションを使えるのが一番よさそうです。プラグインの相性などもあるので、インストールロケーションへの配置をした上でテストをしないと意味がないという声もありそうですが、既にEclipseのサイトからは5種類に渡る配布があるわけですし、YoxosやらPulseやら自由にカスタマイズできる配布サイトもあります。要するに、インストールされているEclipseの状態は、特定できない訳です。

ちょっと前に 拡張ロケーションを削除するには - Fly me to the Juno!という題で拡張ロケーションを手で削除する方法を書きました。今回は手で操作するのは無理があるので、方法を探しに探しました。結局見つけられたのはEclipseのHelpにも書かれている方法なのですが、なかなか見つけられなかったです。ところでドキュメントを検索するのって骨折れませんか?だったらソースから逆に辿って…。っていうのがいつものパターンです。特にJavaDocとかあってもなぁ。書いてある事は結局中見てみないと良く分からないことばっかだぉとか思うんですが、多分そういう人の方が少数派なんすかね。基本コメントを見なくてもわかるコードを書くのが信条です。

拡張ロケーションを追加するときはこんな感じのコマンドを打ちます。

eclipse -application org.eclipse.update.core.standaloneUpdate -consolelog -nosplash -command addSite -from /tmp/build/I.Build/eclipse

注意点は3点です。

  • eclipseランチャを使って起動しているので、javaやらstartup.jarを指定していません。後述するヘルプではその辺もきっちり指定していますが、素の必要はないです。
  • Windowsで、かつEclipse3.3以降を使っている場合はeclipsecランチャがあるので、そっちを使った方が幸せかもです。
  • -fromで指定しているパスが拡張ロケーションです。.eclipseextensionファイルを作るのを忘れずに。

逆に拡張ロケーションを削除する時はこんな感じのコマンドを打ってください。

eclipse -application org.eclipse.update.core.standaloneUpdate -consolelog -nosplash -command removeSite -to /tmp/build/I.Build/eclipse

その他この『org.eclipse.update.core.standaloneUpdate』というアプリケーションはインストールされているフィーチャーの一覧表示、フィーチャーのインストール、アンインストール、有効化、無効化など、『Manage Configuration』ダイアログでできる事が一通りできるようです。

参考にした拡張ロケーションやらフィーチャーをほげほげする時のヘルプです。

Eclipse 3.3の時の拡張ロケーションほげほげ

Eclipse 3.2の時の拡張ロケーションほげほげ

Spring Dynamic Modules 1.0 がリリースされてます

以前JSUG勉強会で話させていただいたSpring Dynamic Modulesが正式版としてリリースされました。1.0リリース前に触ったときの資料ですが、貼っときます。

ただねー。リリース前のものだったから仕方がないのかも分かりませんが、意図していない動きをしていた印象が拭えないわけですよ。