Přírůstkoví tvůrci projektů

org.eclipse.core.resources.builders

Pracovní prostor podporuje užitečný nástroj - přírůstkového tvůrce projektů neboli "zkráceného" tvůrce. Úlohou tvůrce je zpracovávat sadu změn prostředků (dodávanou v podobě rozdílových dat prostředků). Tvůrce Java by například znovu zkompiloval změněné soubory Java a vytvořil by nové soubory tříd.

Tvůrci jsou nakonfigurováni pro jednotlivé projekty a spouští se automaticky, pokud dojde ke změně prostředků v projektu. Jako takoví by měli být tvůrci rychlí a vytvořeni spíše s ohledem na množství změn než na počet prostředků v projektu. Toto obvykle znamená, že tvůrci jsou schopni přírůstkově aktualizovat svůj "stav sestavení".

Bod rozšíření tvůrců umožňuje zapisovačům tvůrců zaregistrovat svoji implementaci tvůrce pod symbolickým názvem, který je poté použit v pracovním prostoru k vyhledání a spuštění tvůrců. Symbolický název je ID rozšíření tvůrce. Při definování rozšíření tvůrce je doporučeno zadat jako atribut "name" hodnotu, která je člověku srozumitelná. Tato hodnota označuje svého tvůrce a potenciálně může být prezentována uživatelům.

<!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>


Zde je uveden příklad konfigurace tvůrce:

   

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

Jestliže bylo toto rozšíření definováno v modulu plug-in s ID "com.xyz.coolplugin", je úplný název tohoto tvůrce "com.xyz.coolplugin.coolbuilder".

Hodnota atributu třídy musí představovat podtřídu org.eclipse.core.resources.IncrementalProjectBuilder.

Platforma samotná neobsahuje žádné předdefinované tvůrce. Instalace konkrétních produktů mohou podle potřeby obsahovat tvůrce.