本書では、Eclipse の 3.1 以降に、3.2 リリースの PDE で変更された注目すべき重要な新機能について説明します。
PDE |
|
ターゲット定義 |
.target ファイル内でターゲットを定義できます (「ファイル」 >「新規」>「その他...」>「プラグイン開発」>「ターゲット定義」)。
.target ファイルは、名前、ロケーション、コンテンツ (プラグイン、フィーチャーの一方または両方)、および JRE などターゲットのあらゆる側面を定義します。 さらに、.link ファイルを要せずにこのターゲット内で複数のプラグイン・サイトを指定および管理できます。 「プラグイン開発」>「ターゲット・プラットフォーム」設定ページで、既存のターゲット定義を参照、プレビュー、適用できます。 |
ターゲットのコントリビュート |
ターゲットは、org.eclipse.pde.core.targets 拡張ポイントを介して Eclipse 製品にコントリビュートできます。
Eclipse SDK には RCP を中核とする 2 つの org.eclipse.pde.core.targets 拡張があるので、SDK サブセットと RCP サブセット間でターゲット・プラットフォームを簡単に切り替えることができます。 |
プラグインの階層ビュー |
「プラグイン開発」>「ターゲット・プラットフォーム」設定ページのプラグインをサイトごとにグループ化できます。この階層ビューによって、大規模の分散ターゲットの管理が大変、容易になります。
|
すべての OSGI フレームワークに対応するプラグイン |
「新規プラグイン・プロジェクト」生成ウィザード (「ファイル」>「新規」>「プロジェクト...」>「プラグイン・プロジェクト」) には、任意の OSGI フレームワークで実行できるプラグインを作成するオプションがあります。
Hello OSGI テンプレートも提供されます。
|
Equinox OSGi フレームワーク・ランチャー |
Equinox OSGi フレームワークでバンドルを実行、デバッグするために新規のランチャーを使用できます。お使いのバンドルの開始レベルの設定と、プログラムおよび VM 引数のカスタマイズを行うことで、異なる条件下でそれらのバンドルをテストすることができます。
Equinox OSGi フレームワークの起動構成は、「起動構成」ダイアログ (トップレベル・メニューから「実行」>「実行...」) 内で作成できます。 |
マニフェスト・ファイルにおける Java 検索ヒット |
Java の型とパッケージに対する参照を検索すると、MANIFEST.MF、plugin.xml、および fragment.xml ファイル内のヒットが表示されます。
|
プラグイン・マニフェスト・ファイルがリファクタリングに参加 |
プラグイン内の Java の型または Java パッケージを移動したり、その名前を変更したりすると、PDE は 影響を受けるプラグインのマニフェスト・ファイルにある Java の型または Java パッケージを指すすべての参照を更新します。 |
プラグイン・マニフェスト・ファイルの NLS ウィザード |
複数言語をサポートするために、プラグイン・マニフェスト・ファイルから翻訳可能なストリングを抽出し、プロパティー・ファイルに保管するウィザードが、PDE から提供されます。
このウィザードは、プラグイン・プロジェクトおよびそのマニフェスト・ファイルのコンテキスト・メニューで、「PDE ツール」>「ストリングの外部化...」を介して利用できます。 |
プラグイン・マニフェスト・ファイルの編成 |
「マニフェストの編成」ウィザードは、プラグイン出荷前の予約ストップです。このウィザードは未使用の依存関係およびプロパティー・キーを除去し、エクスポートされたパッケージを管理して、それらが正しい表示でマークされるようにします。
この機能は、プラグイン・プロジェクトと MANIFEST.MF ファイルのコンテキスト・メニューから「PDE ツール」>「マニフェストの編成...」を介して呼び出すことができます。 |
plugin.xml ファイル内の新規処理命令 |
PDE によって生成されたプラグイン・マニフェスト・ファイルには、バージョン 3.0 ではなく 3.2 を示す新規処理命令が含まれています。この新規処理命令が必要になるのは、プラグインが新しいランタイム・サポート機能を利用する場合です。この機能では、拡張ポイントと拡張機能を自身以外の名前空間にコントリビュートすることができます。
以下の例では、org.eclipse.pde.core プラグインが拡張機能を org.eclipse.pde という名前空間にコントリビュートします。 このプラグイン内で新しい名前空間サポート機能を使用したくない場合は、既存のプラグインを新規処理命令にマイグレーションする必要はありません。 |
バンドル実行環境 |
バンドル実行環境は、プラグインの実行に必要な最低レベルの JRE を指定します。
Eclipse を実行するために使用される JRE が要件を満たしていない場合、プラグインは作動しません。
J2SE-1.4 をお使いのプラグインのバンドル実行環境として宣言した場合、例えば、プラグインは 1.4 以降の JRE で実行されます。 相互に正しいサブセットでない実行環境 (J2SE-1.4 と CDC-1.1/Foundation-1.1 など) でプラグインを実行できる場合、そのようなバンドル実行環境をすべてリストする必要があります。 「実行環境」セクションは、プラグイン・マニフェスト・エディターの「概要」ページにあります。 プラグインのエクスポート中、プラグイン・コードは、MANIFEST.MF 内で最初にリストされている実行環境に関連した JRE と照合してコンパイルされます。OSGI 実行環境のリスト、およびそれぞれと互換性を持つインストール済み JRE のリストについては、「Java」>「インストール済みの JRE」>「実行環境」設定ページを参照してください。 |
依存関係の自動管理 |
PDE から新しい柔軟性を持ったワークフローが提供されます。これによって、まずプラグインのコードを作成でき、次にそのコードを分析でき、さらにプラグイン依存関係のリストが PDE によって自動生成されます。
プラグインのマニフェスト・エディターの「依存」ページの「依存関係の自動管理」セクションで、開発ビルド・パス (およびコンテンツ・アシスト・スコープ) を補強したいプラグイン・リストを指定できます。 これらの依存関係はすぐに MANIFEST.MF に追加されることはありませんが、直ちにコーディングを開始できます。 いつでも、Require-Bundle ヘッダーか Import-Package ヘッダーを介して MANIFEST.MF 内でコードを分析し、正しい依存関係を生成するように PDE に対して指示することができます。 |
manifest.mf ファイルの構造比較と構文強調表示 |
2 つのバージョンのバンドル MANIFEST.MF ファイルを比較するとき、新しい構造比較ビューアーを使用すると、追加、除去、変更されたヘッダーを簡単に表示できます。
MANIFEST.MF ソース・ページに、構文強調表示も追加されました。色とフォントの設定は、「プラグイン開発」>「エディター」設定ページで設定できます。 |
build.properties ファイルの検証 |
PDE は build.properties ファイルを検証し、それによってプラグインの正しいエクスポートを妨げる潜在的な問題にフラグを立てます。
build.properties ファイルにある問題の重大度レベルを、「プラグイン開発」>「コンパイラー」>「プラグイン」設定ページで設定できます。 |
プラグイン・マニフェスト・ファイルのクイック・フィックス |
MANIFEST.MF、plugin.xml、build.properties の各ファイルにある多くのタイプの問題にクイック・フィックスを利用できます。以下のような問題があります。
|
Javadoc の自動添付 |
PDE はプラグインのビルド・パス上にあるライブラリーに Javadoc を添付するタスクを自動化します。
詳細については、org.eclipse.pde.core.javadoc 拡張ポイント文書を参照してください。 |
新規拡張ポイント・スキーマ・エディター |
拡張ポイント・スキーマ・エディターは再設計されています。新規フィーチャーには、以下のものがあります。
|
ヘッドレス RCP アプリケーション・テンプレート |
Eclipse ランタイムは、ヘッドレス (非 UI) アプリケーションの実行に最適な高機能の Java コンポーネント・モデルです。
「新規プラグイン・プロジェクト」作成ウィザード (「ファイル」>「新規」>「プロジェクト...」>「プラグイン・プロジェクト」) は、Hello World テンプレートを備えたヘッドレス RCP アプリケーションを作成するワークフローをサポートします。 |
製品エディターにおける書式検証 |
製品エディターは、各ページのタイトル領域で警告とエラーをレポートします。レポートされる問題には、無効なパス、正しくない画像のサイズ/長さなどがあります。
|
製品スプラッシュ画面における統合進行モニター |
Eclipse スプラッシュ画面に統合進行状況表示バーを配置すると、製品スプラッシュ画面と同じことができます。
PDE 製品エディターの「ブランド」ページで、統合進行状況表示バーを追加、カスタマイズする機能が提供されます。 |
クロスプラットフォームで製品をエクスポートするためのプラットフォーム固有のランチャー引数 |
製品エディターにおいて、製品を起動するためのプラットフォーム固有のプログラムおよび VM 引数を指定することができます。
これによって、1 回のクロスプラットフォーム・エクスポート操作においてプラットフォーム固有の <launcher>.ini ファイルを作成できます。
|
ウェルカム・ページを製品に追加 |
ウェルカム・ページは、製品に対する好ましい最初のユーザー・エクスペリエンスを提供する機会です。
製品構成エディターの「ブランド」ページ (「ファイル」>「新規」>「その他...」>「製品構成」) に「ウェルカム・ページ」セクションが追加されました。このセクションは、製品のテンプレート・ウェルカム・ページの作成をサポートします。 |
共用可能で移植可能な PDE 起動構成 |
PDE 起動構成 (Eclipse アプリケーションおよびプラグイン JUnit) は変数の置換をサポートします。変数を注意深く使用することで、起動構成の保管形式を、OS 間で移植でき、かつチーム間で共用できるものにできます。 |
起動引数のテンプレート |
プログラムと VM 引数のためのテンプレートを指定できます。これは新しい PDE 起動構成でデフォルト引数を初期化するのに使用されます。
|
起動前プラグイン検証の改善および自動化 |
あらゆる PDE ランチャーの「プラグイン」タブで利用できる、プラグイン・セットの検証機能によって、選択されているプラグインのリストが分析され、起動開始に関する潜在的な問題が明らかになります。
この機能が改善されたため、プラグインの実行を妨げるような望ましくない制約のタイプを今まで以上に数多く予測できるようになりました。 また、あらゆる起動の前に検証が自動的に行われるように選択することもできます。 |
Eclipse アプリケーションをデバッグするための新しいソース・ルックアップ |
Eclipse アプリケーションをデバッグするとき、PDE は、OSGI クラス・ローダーに結合したカスタム・ソース・ルックアップ・メカニズムを使用します。このメカニズムは、標準のリニア Java ソース・ルックアップよりも迅速で正確です。
「ソース」タブは、もう不要なので、Eclipse/Equinox/Plug-in JUnit 起動構成から除去されました。 |
プラグイン・レベルのカスタム Ant ターゲット |
プラグインの生成された build.xml はプラグイン・レベルでカスタム・ターゲットをサポートします。プラグインの build.properties ファイル内でプロパティー "customBuildCallbacks" を設定し、Ant スクリプトがポイントされ、プリ/ポスト ant 呼び出しがターゲット (build.jars、build.sources、コンパイル・ターゲット (eq: @dot)、gather.bin.parts、gather.sources、 gather.logs、clean) に対して生成されるようにします。多くの場合、完全なカスタム build.xml ではなく、カスタム・コールバックを使用できます。 org.eclipse.pde.build/テンプレート 内で テンプレート、customBuildCallbacks.xml が提供されます。 |
製品のビルド |
PDE ビルドは、ヘッドレス自動化ビルド方式で .product ファイルから製品をビルドします。製品ファイルのコンテンツを基にフィーチャーが自動生成されます。 |
複数リポジトリーのサポート |
ヘッドレス・ビルド向けの取り出しスクリプトの PDE ビルド生成は拡張可能です。拡張によって、拡張ポイントの org.eclipse.pde.build.fetchFactories を介して追加リポジトリーから要素を取り出す機能がサポートされます。 PDE ビルドは CVS からファイルを取り出すための標準拡張機能を提供します。 |