增量專案建置器

org.eclipse.core.resources.builders

工作區支援增量專案建置器(簡稱「建置器」)的觀念。 建置器的工作是處理一組資源變更(以資源差距來提供)。 例如,Java 建置器將重新編譯已變更的 Java 檔,然後建立新的類別檔。

建置器是以個別專案為基礎來配置的,當專案內的資源變更時,會自動執行。 因此,建置器速度應該很快,且會關聯於變更量而調整,而非關聯於專案內的資源數目。 這通常也表示建置器能夠漸進地更新它們的「建置狀態」。

建置器延伸點可讓建置器作者將他們的標記實作登錄在某符號名稱之下, 再從工作區中,利用這個符號名稱來尋找和執行建置器。 符號名稱是建置器延伸的 ID。當定義建置器延伸時, 使用者最好在用來識別其建置器且使用者可能會見到的 "name" 屬性中包括可供人類閱讀的值。

<!ELEMENT extension (builder)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #REQUIRED

name  CDATA #IMPLIED>


<!ELEMENT builder (run?)>

<!ATTLIST builder

hasNature      (true | false)

isConfigurable (true | false) >


<!ELEMENT run (parameter*)>

<!ATTLIST run

class CDATA #REQUIRED>


<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>


下列是建置器配置的範例:

   

<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"。

class 屬性值必須代表 org.eclipse.core.resources.IncrementalProjectBuilder 的子類別。

平台本身沒有任何預先定義的建置器。特定產品安裝可能會依需要而含有建置器。