連載
» 2004年06月23日 00時00分 公開

Eclipse徹底活用(9):Eclipseプラグインを作る(2) (2/2)

[的場聡弘, 岡本隆史,NTTデータ]
前のページへ 1|2       

ドキュメント類を整備する

 プラグインは、その<プラグインに関する情報をabout.htmlというファイルで提供するよう規定>されています。このファイルは[ヘルプ]→[Eclipse Platformについて]で表示されるダイアログから[プラグインの詳細]を表示し、プラグインの[詳細情報]を表示しようとしたときに表示されるものです。ライセンス条項をはじめ、どのようなプラグインなのか、最新版を探すにはどこのWebサイトに行けばいいのか、といった情報を掲載しておきましょう。

 ライセンスについては、作成者が自由に定めてよいものですが、どこかからプログラムを引用したり流用したりしている場合は、引用元の作成者の権利を侵害しないよう注意してください。

プラグインパッケージを作る

 さて、開発したプラグインは、試験実行環境だけで動作させていても意味がありません。便利なものを開発したら、普段使用している開発環境にも組み込んで利用するべきですし、ほかの人にも使ってもらいたいものです。

 この連載でも、いままでにいろいろなプラグインをご紹介してきました。これらは基本的にzipファイルで提供され、展開したフォルダをEclipseのpluginsフォルダに導入できるようになっていました。いまここで開発したアナログ時計プラグインも、このような形にパッケージ化してみましょう。これには、ウィザードを利用する方法と、ビルドファイルを利用する方法の2つがあります。

 その前に、体裁を整えておきましょう。先ほど用意した国際化リソースとビュー用のアイコンをzipファイルに含めるため、build.propertiesファイルのbin.includesに、これらのエントリを追加します。build.propertiesのエディタを開き、bin.includesをクリックし、一番右の「追加」ボタンでエントリを追加して「*.properties」と「*.gif」を追加しておきます。

画面 bin.includesにエントリを追加する 画面 bin.includesにエントリを追加する

 まず、ウィザードを使ったパッケージ化の方法をご紹介します。[ファイル]メニューから[エクスポート]を選択し、開いたダイアログで[デプロイ可能なプラグインおよびフラグメント]を選択することでウィザードを実行できます。リストからデプロイしたいプラグインを選択し、デプロイ用のzipファイル名として「org.ocharake.matobaa.analogClock_1.0.0.zip」を入力して「終了」をクリックするだけで、デプロイ用のパッケージが出来上がります。デプロイ用のzipファイル名は、「プラグインid_バージョン.zip」という名前を付けることが推奨されています。

 一方の、ビルドファイルを利用してパッケージを作成する方法は次のようになります。まず、パッケージ手順を定義したビルドファイルを作成します。plugin.xmlを右クリックして、「Antビルド・ファイルの作成」を実行すると、build.xmlが作成されます。

 次に、このbuild.xmlを右クリックして「Antの実行」を選び、Ant実行ダイアログで、一番下にある「zip.plugin」にチェックを入れて実行します。Antの実行が完了したら、パッケージエクスプローラービューで、プロジェクト全体を「ファイル」「最新表示」するとorg.ocharake.matobaa.analogClock_1.0.0.zipというファイルができています。これがリリースパッケージとなります。

ウィザードが途中から進まなくなる?build.xmlの生成過程でエラーが発生する?

日本語化パックを導入しているほとんどの人は、ウィザードが途中で進まなくなる問題に突き当たると思います。これは、依存関係を満たさないフラグメントが導入されていて、ウィザードの処理中で内部エラーが発生していることが原因です。被依存プラグイン(XSDGEFEMF)を導入するか、または、[ヘルプ]→[Eclipse Platformについて]→[構成の詳細]を表示し、最後の“SESSION”以降で「MESSAGE...ignored.」と表示されているフラグメントを削除することで、この問題を回避することができます。


そのほかの拡張ポイント

 アナログクロックプラグインでは、拡張ポイントとしてorg.eclipse.ui.viewsだけを使いました。このほかの代表的な拡張ポイントをいくつかご紹介しましょう。

エディタ 特定のファイル名に対して割り当てられた、エディタのための拡張ポイント。例えばEclipseUMLプラグインでは、“*.ucd”という拡張子に割り当てられた、クラスダイヤグラムエディタを提供する
アクションセット メニューに項目を追加したりボタンを追加したりするための拡張ポイント。Tomcatプラグインはこの拡張ポイントを利用して、“tomcat”というメニューを追加したり、メニューバーにTomcat起動ボタンを設置する
ポップアップメニュー ファイルを右クリックすると登場するポップアップメニューに項目を追加するための拡張ポイント。Lombozプラグインでは、プロジェクトの右クリックメニューに“Lomboz J2EE…”という項目を追加している
ビュー ビューを追加するための拡張ポイント。今回の記事で、アナログ時計ビューを作成するのに利用している
プロパティページ 設定メニューで表示されるプロパティページを提供するための拡張ポイント
ウィザード メニューの「新規」に項目を追加するための拡張ポイント
スタートアップ Eclipse起動時に何らかの動作をさせたいときのための拡張ポイント(使い過ぎると起動に時間がかかるようになるので、使用は慎重にすべき)
ヘルプシステム プラグインのヘルプを提供するための拡張ポイント(webappを配置できる拡張ポイントもある)

まとめ

 以上、簡単なプラグイン作成の流れを眺めてきました。Eclipse開発環境に標準で付いてくるプラグイン開発環境を利用することで、スムーズにプラグインを開発していくことができることが分かっていただけたかと思います。次回は、辞書を検索するプラグインを作成していきます。拡張ポイントだけでなく、EclipseランタイムAPIなども使っていきます。お楽しみに。

筆者プロフィール

的場 聡弘(まとば あきひろ;matobaa)

現在、株式会社NTTデータ ビジネス開発事業本部に所属。社内技術支援業務に携わり、主にJ2SEおよびJ2EEを用いたシステム構築に係わる方式設計や障害対応を担当している。おちゃらけプログラマ七号機(http://www.ocharake.org/)や、ぱ〜む脱力ゲーム協会(http://palmgames.tripod.co.jp/)の公認脱力作家という顔も持つ。

岡本 隆史(おかもと たかし)

NTTデータ 技術開発本部 所属。Debian GNU/Linuxの優れたメンテナンス性と他のディストリビューションを圧倒するパッケージ数に引かれDebianを使い始めたのをきっかけに、Debian プロジェクトの開発者となりJavaサポートの強化を行う。『Jakartaプロジェクト徹底攻略』(技術評論社)、『WEB+DB PRESS』(技術評論社)、『Java World』(IDGジャパン)、『JAVA Developer』(ソフトバンクパブリッシング)などで執筆活動を行っている。



前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。