Növekményes projekt-összeépítők

org.eclipse.core.resources.builders

A munkaterület támogatja a növekményes projekt-összeépítő (vagy röviden "összeépítő") fogalmát. Az összeépítő feladata az erőforrásmódosítások egy halmazának (ezek erőforrás megváltozásként állnak rendelkezésre) feldolgozása. Például egy Java összeépítő újrafordítja a módosított Java fájlokat, és új osztályfájlokat állít elő.

Az összeépítők projektenként vannak konfigurálva, és automatikusan futtatásra kerülnek, amikor a projektjükhöz tartozó erőforrások megváltoznak. Éppen ezért az összeépítőknek gyorsnak kell lenniük, és nem a projektben szereplő erőforrások számától, hanem a módosítás mértékétől függően méretezendők. Ez általában azt jelenti, hogy az összeépítők képesek növekményesen frissíteni az "összeépítési állapotot".

Az összeépítők kiterjesztési pont segítségével az összeépítők írói egy szimbolikus név alatt regisztrálhatják saját összeépítő megvalósításaikat, amely azután a munkaterületen belül összeépítők keresésére és futtatására használható. A szimbolikus név az összeépítő kiterjesztés azonosítója. Összeépítő kiterjesztés meghatározásakor a "name" attribútumnak ajánlatos értelemmel bíró értéket adni, amely azonosítja az adott összeépítőt, és esetleg megjeleníthető a felhasználók számára.

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


Az alábbi példa egy összeépítő beállítását mutatja be:

   

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

Ha ez a kiterjesztés egy "com.xyz.coolplugin" azonosítóval rendelkező bedolgozóban lenne meghatározva, akkor ezen összeépítő teljes képzésű neve "com.xyz.coolplugin.coolbuilder" lenne.

A class attribútum értéke az org.eclipse.core.resources.IncrementalProjectBuilder egyik alosztálya kell, hogy legyen.

A környezet nem rendelkezik előre meghatározott összeépítővel. Bizonyos terméktelepítők szükség szerint tartalmazhatnak összeépítőket.