Edit
EclipsePluginの基礎

Eclipseでは、コア部分の上に、OSGiというJavaのダイナミック組み込みと、解除ができるコントール機能が実装され、すべての機能は plugin の形で実装されている為、plugin を記述することは eclipse そのものを記述しているといっても加減ではありません。また、このOSGiベースになったのは、Eclipse ver 3.0 移行であり現在の 4.4 などもこのベースの上に成り立っています。

Edit
構造概要

platform.gif
platform-image.jpg


主な要素概要
Runtime/OSGiランタイムは、OSGi の仕様および拡張と拡張ポイントの概念に基づいて Eclipse のプラグイン・モデルを定義するコードです。またランタイムはロギングや並行性といった追加のサービスも提供します。
JFace/SWTSWT (Standard Widget Toolkit) は Eclipse のルック・アンド・フィールを実現するウィジェット・セットです。JFace は SWT の上の単なるレイヤーであり、MVC (Model-View-Controller) クラスをいくつか提供しています。これらのクラスを利用するとグラフィカル・アプリケーションの開発を容易に行うことができます。
Workbenchワークベンチによって Eclipse をパーソナライズすることができます。ビューやパースペクティブ、エディターなどの概念は、このレベルで定義されます。
バンドル複数のクラスファイルとリソースファイルをアーカイブとして1つにまとめたJARファイルです。通常のJARファイルとの違いは、マニフェストファイルにOSGiの仕様特有の「属性」(下記参照)を加える点です。

Edit
代表的な属性

属性概要
Bundle-SymbolicNameバンドルを一意に特定する文字列
Bundle-Versionバンドルのバージョン
Bundle-Activatorバンドル起動時、最初に呼び出されるorg.osgi.framework.BundleActivatorを実装したクラス
Export-Packageほかのバンドルへ公開するパッケージ
Import-Package使用するほかのバンドルの公開パッケージ

Edit
バンドルはBundleActivatorインターフェイスを実装する必要がある

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

public class LogServiceActivator implements BundleActivator {

   public void start(BundleContext context) throws Exception {
       // バンドル起動時、最初に呼び出される
   }

   public void stop(BundleContext context) throws Exception {
       // バンドル停止前に呼び出される
   }
}

Edit
pluginの基本的な構造

eclipseのプラグインは、eclipseで提供されている機能に対して、拡張するかたちで実装される。このあたりは、ruby on railsなども同じような方向なので、比較的わかりやすい概念だろう。また、追加される機能がどのようなものかを、manifest.mf という、android 開発における androidmanifest.xml のようなものも存在する。

基本は同じような機能であり、android の場合は os に、eclipse plugin の場合は、eclipse にプラグインで使用する機能を明記し、eclipse本体に伝えることになる。その指定そのものは、拡張タブ(extensions)で行われる。

Edit
拡張(extensions)

先の説明通り、プラグインの実装とは、既存の eclipse に機能拡張することでもあるため、この拡張タブでその拡張するべき機能を指定する。実際にpluginを構築することは、この拡張をコードしていくことにほかならない。

Edit
依存関係(dependencies)

以前関係とは言葉の如く、該当pluginが必要とする他のプラグインとの関係を記述するもので、プラグインがインストールされる場合には、自動的にその追加インストールなどの判断や、起動可能かのチェックが行われる。

Edit
各eclipseUIにおける名称

workbench.gif

Edit
テスト方法

プラグインのテストには、新しいeclipseを起動してテストすることになるが、下記の画像のように、overview(概要)項目の部分に、テスト用のボタンが2つあり、このボタン1発でテスト起動が可能になる。

overview.JPG

添付ファイル: fileplatform-image.jpg 832件 [詳細] fileworkbench.gif 869件 [詳細] fileoverview.JPG 834件 [詳細] fileplatform.gif 803件 [詳細]