3.2 の新機能

本書では、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


Equinox OSGi フレームワーク・ランチャー

Equinox OSGi フレームワークでバンドルを実行、デバッグするために新規のランチャーを使用できます。お使いのバンドルの開始レベルの設定と、プログラムおよび VM 引数のカスタマイズを行うことで、異なる条件下でそれらのバンドルをテストすることができます。

Equinox OSGi フレームワークの起動構成は、「起動構成」ダイアログ (トップレベル・メニューから「実行」>「実行...」) 内で作成できます。

Equinox ランチャー


マニフェスト・ファイルにおける Java 検索ヒット

Java の型とパッケージに対する参照を検索すると、MANIFEST.MF、plugin.xml、および fragment.xml ファイル内のヒットが表示されます。

PDE 検索参加プログラム


プラグイン・マニフェスト・ファイルがリファクタリングに参加

プラグイン内の Java の型または Java パッケージを移動したり、その名前を変更したりすると、PDE は 影響を受けるプラグインのマニフェスト・ファイルにある Java の型または Java パッケージを指すすべての参照を更新します。

プラグイン・マニフェスト・ファイルの NLS ウィザード

複数言語をサポートするために、プラグイン・マニフェスト・ファイルから翻訳可能なストリングを抽出し、プロパティー・ファイルに保管するウィザードが、PDE から提供されます。

このウィザードは、プラグイン・プロジェクトおよびそのマニフェスト・ファイルのコンテキスト・メニューで、「PDE ツール」>「ストリングの外部化...」を介して利用できます。

NLS ウィザード


プラグイン・マニフェスト・ファイルの編成

「マニフェストの編成」ウィザードは、プラグイン出荷前の予約ストップです。このウィザードは未使用の依存関係およびプロパティー・キーを除去し、エクスポートされたパッケージを管理して、それらが正しい表示でマークされるようにします。

この機能は、プラグイン・プロジェクトと 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 の構造比較

MANIFEST.MF ソース・ページに、構文強調表示も追加されました。色とフォントの設定は、「プラグイン開発」>「エディター」設定ページで設定できます。


build.properties ファイルの検証

PDE は build.properties ファイルを検証し、それによってプラグインの正しいエクスポートを妨げる潜在的な問題にフラグを立てます。

build.properties の検証

build.properties ファイルにある問題の重大度レベルを、「プラグイン開発」>「コンパイラー」>「プラグイン」設定ページで設定できます。

通知の重大度


プラグイン・マニフェスト・ファイルのクイック・フィックス

MANIFEST.MF、plugin.xml、build.properties の各ファイルにある多くのタイプの問題にクイック・フィックスを利用できます。以下のような問題があります。
  • 未解決の型参照
  • 属性および要素の外部化
  • 推奨されない属性およびディレクティブの置換

クイック・フィックス


Javadoc の自動添付

PDE はプラグインのビルド・パス上にあるライブラリーに Javadoc を添付するタスクを自動化します。

javadoc の添付

詳細については、org.eclipse.pde.core.javadoc 拡張ポイント文書を参照してください。


新規拡張ポイント・スキーマ・エディター

拡張ポイント・スキーマ・エディターは再設計されています。新規フィーチャーには、以下のものがあります。
  • スキーマ可視化の改善
  • 属性編集の簡単化
  • ドラッグ・アンド・ドロップ
  • 他のスキーマの組み込み

スキーマ・エディター


ヘッドレス RCP アプリケーション・テンプレート

Eclipse ランタイムは、ヘッドレス (非 UI) アプリケーションの実行に最適な高機能の Java コンポーネント・モデルです。

「新規プラグイン・プロジェクト」作成ウィザード (「ファイル」>「新規」>「プロジェクト...」>「プラグイン・プロジェクト」) は、Hello World テンプレートを備えたヘッドレス RCP アプリケーションを作成するワークフローをサポートします。

ヘッドレス 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 からファイルを取り出すための標準拡張機能を提供します。