2012年6月29日金曜日

Eclipseプラグインの開発サイクル短縮化計画

みなさんはEclipseのプラグインを開発したことがあるでしょうか?

Eclipseのプラグインを開発するときは、普通の手順ではEclipseの上で「テスト用のEclipse」を起動させてプラグインを動かします。

Eclipse自体が非常に重たいソフトウェアですから、それを2つ起動するともなるとメモリ使用量がものすごいことになります。しかも、メソッドが追加・削除される度にテスト用Eclipseを再起動させねばなりません。
それはつまり、1回の開発サイクルにほぼ毎回15秒くらいの待ち時間が入ってくることを意味します。Eclipse終了→ビルド→Eclipse起動→プラグインテスト

開発サイクルを速めるのに効果的なのは、プラグインとして開発しているソフトウェアを普通のJavaアプリにしてしまうことです。要するに、どこかにmainメソッドを定義し、そこから起動する形式にするのです。(このやり方は、ラボユースにおいて社員さんの方々とのブレインストーミングで浮上してきた案を元にしています)

Eclipseプラグインは通常、様々なやり方で起動されます。ツールバーのボタンから、メインメニューから、右クリックのコンテキストメニューからなど。各部分に主要な処理を埋め込んでいると僕の提案するやり方はやりにくいでしょう。

僕の提案手法が適用しやすいのは、プラグインの主要機能が1つのメソッドにまとまっており、その機能の入力データが手動で生成しやすい形式であるような場合です。手動で生成しやすいデータは例えばプログラムのソースコードです。単に文字列として表現できますので、簡単にプログラム上で表現できます。

対して、プラグインが複雑なデータを入力として必要とする場合、そのデータを用意するにはプラグインをプラグインとして起動させないといけない可能性があります。そういう場合、単純に僕の提案手法を使おうとしてもダメかもしれません。しかし、プラグインを普通のJavaアプリとして開発していくことで、開発効率が上がる、という考え方は有用なのではないかと思います。

0 件のコメント:

コメントを投稿