フィーチャーおよびプラグインのビルド構成プロパティー
ビルド・メカニズムは、ビルド構成に従って実行されます。個々のプラグイン、フラグメント、またはフィーチャーのビルド構成は、対応する要素の 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 - ビルド・スクリプトが自動生成ではなく、手作業で作成したものであることを示します。したがって、他の値は使用されません。
- customBuildCallbacks -
このフィーチャー/プラグインを使用する際に使用するカスタム・ターゲットを含む XML ファイルを示します。
(フィーチャーおよびプラグイン・カスタム・ビルドの手順を参照してください)
プラグイン固有のプロパティー
- source.<library> - コンパイルするソース・フォルダーをリストします (例えば、source.xyz.jar=src/、src-ant/)。plug-in.xml または manifest.mf でライブラリーが指定されている場合は、その値と一致している必要があります。
- output.<library> - コンパイルの結果を格納する出力フォルダーをリストします。
- exclude.<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 をコンパイルする順序を定義します (複数のライブラリーがある場合)。
- jre.compilation.profile -
このバンドルをコンパイルするために使用される環境を設定します。
(コンパイル環境の制御を参照してください)
- javacSource - このバンドルをコンパイルするためのソースの互換性レベルを設定します。
これは、jre.compilation.profile を上書きします。
- javacTarget - このバンドルをコンパイルするためのターゲットの .class 互換性レベルを設定します。
これは、jre.compilation.profile を上書きします。
- bootClasspath - このバンドルをコンパイルする対象ブート・クラスパスを設定します。これは、jre.compilation.profile を上書きします。
- javacWarnings.<library>
- コンパイラーに渡す警告オプションを設定します。
(「JDT プラグイン開発者ガイド」の『Java コードのコンパイル』に記載された -warn オプションを参照してください)。
- javacDefaultEncoding.<library>
- 所定のライブラリーをコンパイルする際に使用するデフォルト・エンコードを設定します。
- javacCustomEncodings.<library>
- 所定のライブラリーをコンパイルする際に使用するパスおよびエンコードのコンマ区切りのリストです。
例:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
「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 が、このプロパティーの値として示されているプラグインに対するソース・プラグインであることを示します。
- significantVersionDigits
- フィーチャーのバージョン接尾部を生成する際に使用する有効数字の数 (バージョン修飾子を参照してください)。
- generatedVersionLength -
生成されるフィーチャーのバージョン接尾部の長さ。
以下の例は、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*