説明: ワークスペースでは、インクリメンタル・プロジェクト・ビルダー (あるいは単に 「ビルダー」) がサポートされます。 ビルダーは、リソース・デルタとして提供される一連のリソースの変更を処理します。 たとえば、Java ビルダーは、変更された Java ファイルを再コンパイルして、新しいクラス・ファイルを 作成します。
ビルダーはプロジェクトごとに構成され、プロジェクト内のリソースが変更されると自動的に 実行されます。 したがって、ビルダーは、プロジェクト内のリソース数ではなく変更量の点から、高速であり拡張が 容易であることが求められます。 これは、ビルダーが「ビルド状態」をインクリメンタルに更新できることを暗黙指定するものです。
ビルダーの作成者は、ビルダー拡張ポイントを使用することにより、そのビルダーの インプリメンテーションをシンボリック名に登録することができます。 これはワークスペース内からビルダーの検出および実行に使用されます。 シンボリック名はビルダー拡張の ID です。 ビルダー拡張機能を定義する場合は、"name" 属性の値を 人間が理解できる形で組み込むようにしてください。 これは、ビルダーを識別し、場合によっては、ユーザーに提示されることがあります。
構成マークアップ:
<!ELEMENT builder run?>
<!ATTLIST builder
hasNature CDATA
#IMPLIED
>
ビルダー構成の例を次に示します。
<extension id="coolbuilder" name="Cool Builder"
point="org.eclipse.core.resources.builders">
<builder hasNature="false">
<run class="com.xyz.builders.Cool">
<parameter name="optimize" value="true"/>
<parameter name="comment" value="Produced by the Cool Builder"/>
</run>
</builder>
</extension>
この拡張機能が ID "com.xyz.coolplugin" を使用してプラグインに定義されていた場合、このビルダーの 完全修飾名は"com.xyz.coolplugin.coolbuilder" になります。
API 情報: class 属性の値は、 org.eclipse.core.resources.IncrementalProjectBuilder のサブクラスを表す必要があります。
提供されるインプリメンテーション: プラットフォームには、事前定義されたビルダーは ありません。 特定の製品のインストールにより、必要なビルダーの組み込みが可能です。