ビルド構成
ビルド・メカニズムは、ビルド構成に従って実行されます。個々のプラグイン、フラグメント、
またはフィーチャーのビルド構成は、対応するエレメントの build.properties ファイルにあります。
PDE プロジェクト作成ウィザードは、
プラグイン・プロジェクトが作成されるときに build.properties ファイルを生成します。
ファイルには、ソース・フォルダーを JAR にコンパイルする方法についての情報を含みます。
この情報はマニフェスト・エディターの「ランタイム」ページで間接的に更新することができます。
また、適切なエディターを使用して直接変更することもできます。
PDE は、フォーム・ビューとソース・ビューを持つ、build.properties 用の簡単なエディターを提供しています。
ファイル自体は、Java プロパティー・フォーマットに従います。多数のキーとそれらに対応する値を提供する必要があります。
値が複数の場合は、区切り文字としてコンマを使用して値を区切ります。
共通プロパティー
- bin.includes - ビルトされるプラグインのバイナリー・バージョンに包含するファイルをリストします。
- bin.excludes - バイナリー・ビルドから除外するファイルをリストします。
- qualifier - エレメントのバージョン番号が .qualifier で終了する場合に、
「.qualifier」を置き換える値を示します。プロパティーの値としては、context、<value>、
または none を指定できます。context を指定すると、システム日付に従った日付が生成されるか、
またはビルドが自動化されている場合には CVS タグが使用されます。value は実際の値です。none を
指定すると、「.qualifier」が除去されます。プロパティーが省略されている場合、コンテキストが使用されます。
- custom=true - ビルド・スクリプトが自動生成ではなく、手作業で作成したものであることを
示します。したがって、他の値は使用されません。
プラグイン固有のプロパティー
- source.<library> - コンパイルするソース・フォルダーをリストします (例えば、source.xyz.jar=src/、src-ant/)。plugin.xml または manifest.mf でライブラリーが指定されている場合は、その値と一致する必要があります。
- output.<library> - コンパイルの結果を格納する出力フォルダーをリストします。
- source.<library> - ライブラリーでコンパイラーがコピーするべきではないファイルをリストします。
- extra.<library> - 自動化されたビルドの実行に使用する追加のクラスパスです。クラスパスには、相対パスか、
開発環境のプラグインおよびフラグメントを参照するプラットフォーム URL を使用できます (例えば ../someplugin/xyz.jar、platform:/plugins/org.apache.ant/ant.jar)。
相対パスでは、プラットフォーム URL が推奨されます。
- manifest.<library> - ライブラリーのマニフェストとして使用されるファイルを示します。
このファイルは、jar の入力として使用されているソース・フォルダーのいずれかに配置される必要があります。
- src.includes - ソース・ビルドに組み込むファイルをリストします。
- src.excludes - ソース・ビルドから除外するファイルをリストします。
- jars.extra.classpath - (非推奨) extra.<library> と同じ効果がありますが、
エントリーはすべてのライブラリーに適用されます。
- jars.compile.order - JAR をコンパイルする順序を定義します (複数のライブラリーがある場合)。
「includes」または「excludes」で終了するキーに対して定義する値は、Ant の「パターン」で表現します。
予期する結果は標準フォーマットです。
例えば、「*.jar」は、最上位のディレクトリー内のすべての JAR ファイルを示します。
パターンのデフォルトは深くありません。
例えば、すべての Java ファイルを記述したい場合は、
パターン「**/*.java」を使用する必要があります。
パターン「**」は任意のディレクトリー・レベル数に一致します。
同様に、全サブツリーを記述するには、「xyz/」を使用してください。
フィーチャー固有のプロパティー
- root - 製品のルートに含める必要のあるファイルとフォルダーをリストします。以下の値がサポートされています。
- <folderName> - コピーするフォルダーの相対パスです。
- file:<fileName> - コピーするファイルの相対パスです。
- absolute:<folderName> - コピーするフォルダーの絶対パスです。
- absolute:file:<fileName> - コピーするファイルの絶対パスです。
- root.<config> - 指定した構成でビルドするときに、製品のルートに含める必要のある
ファイルとフォルダーをリストします。config は、ドットで区切られた 3 つのセグメントで構成されます。
- root.permissions.<permissionValue> - モードを指定した値に変更するファイルとフォルダーをリストします。フォルダーへの参照は、
「/」で終わる必要があります。
- root.permissions.<config>.<permissionValue> - 特定の構成の場合に
モードを指定した値に変更するファイルとフォルダーをリストします。フォルダーへの参照は、「/」で終わる必要があります。
- root.link - シンボリック・リンクする必要のあるファイルとフォルダーのペア (コンマで区切ります) を
リストします。第 1 のエントリーはソース (UNIX の用語ではターゲット) を示し、第 2 のエントリーはリンク名を示します。
- root.link.<config> - 特定の構成の場合にシンボリック・リンクする必要のある、
ファイルとフォルダーのペアのコンマ区切りのリストです。第 1 のエントリーはソース (UNIX の用語ではターゲット) を示し、第 2 のエントリーはリンク名を示します。
- generate.feature@<featureId> - featureId が、このプロパティーの値として
示されているフィーチャーに対するソース・フィーチャーであることを示します。最初のコンマの後に
リストする値は、リポジトリーから取り出すエレメントを示します。
- generate.plugin@<pluginId> - pluginId が、このプロパティーの値として
示されているプラグインに対するソース・プラグインであることを示します。
以下の例は、org.eclipse.platform フィーチャーの build.properties から抜き出したものです。
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*