Incrementele projectbuilders
ID:
org.eclipse.core.resources.builders
Beschrijving:
Het werkgebied ondersteunt een incrementele projectbuilder (ook wel een "builder" genoemd). De taak van een builder is om een verzameling resourcewijzigingen (aangeleverd als resourcedelta) te verwerken. Zo worden met een Java-builder gewijzigde Java-bestanden opnieuw gecompileerd en nieuwe klassenbestanden gemaakt.
Builders worden per project geconfigureerd en worden automatisch uitgevoerd wanneer resources in het bijbehorende project zijn gewijzigd. Builders moeten snel kunnen uitgevoerd en eerder rekening houden met de hoeveelheid wijzigingen dan het aantal resources in het project. Hiertoe moeten builders hun buildstatus incrementeel kunnen bijwerken.
Via het builderextensiepunt kunnen buildschrijfprogramma's hun builderimplementie opslaan onder een symbolische naam, die vervolgens vanuit het werkgebied wordt gebruikt om builders op te zoeken en uit te voeren. De symbolische naam is het ID van de builderextensie. Bij het definiëren van een builderextensie is het raadzaam een beschrijvende en gemakkelijk leesbare weergavenaam in te voeren voor het kenmerk "name".
Configuratiemarkup:
<!ELEMENT extension (builder)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #REQUIRED
name CDATA #IMPLIED>
- point - een volledig gekwalificeerd ID van het doelextensiepunt.
- id - een optioneel ID van de extensie-instance.
- name - een optionele naam van de extensie-instance.
<!ELEMENT builder (run?)>
<!ATTLIST builder
hasNature (true | false)
isConfigurable (true | false) >
- hasNature - "true" (waar) of "false" (onwaar). Hiermee wordt aangegeven of de builder onder een projectsoort valt. Als deze waarde "true" is maar het bijbehorende projectsoort niet kan worden gevonden, wordt deze builder niet uitgevoerd en blijft de builder in de buildspecificatie van het project staan. Als het kenmerk niet wordt opgegeven, wordt "false" gebruikt.
- isConfigurable - "true" of "false". Hiermee wordt aangegeven of de gebruiker kan aanpassen op welke buildtriggers de builder moet reageren. Als dit kenmerk "true" is, kunnen clients de API ICommand.setBuilding gebruiken om aan te geven of deze builder moet worden uitgevoerd bij een bepaalde buildtrigger. Als het kenmerk niet wordt opgegeven, wordt "false" gebruikt.
<!ELEMENT run (parameter*)>
<!ATTLIST run
class CDATA #REQUIRED>
- class - de volledig gekwalificeerde naam van een subklasse van org.eclipse.core.resources.IncrementalProjectBuilder.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - de naam van deze parameter die beschikbaar wordt gesteld aan instances van de opgegeven builderklasse
- value - een willekeurige waarde die wordt gekoppeld aan de opgegeven naam en beschikbaar wordt gesteld aan instances van de opgegeven builderklasse
Voorbeelden:
Dit is een voorbeeld van de extensie builders:
<extension id=
"coolbuilder"
name=
"Mijn 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=
"Gemaakt door mijn builder"
/>
</run>
</builder>
</extension>
Als deze extensie is gedefinieerd in een plugin met het ID "com.xyz.coolplugin", wordt de volledig gekwalificeerde naam van deze builder "com.xyz.coolplugin.coolbuilder".
API-informatie:
De waarde van het kenmerk class moet een subklasse van org.eclipse.core.resources.IncrementalProjectBuilder zijn.
Verstrekte implementatie:
Er zijn geen vooraf gedefinieerde builders voor het platform. Bij bepaalde producten worden ook de nodige builders geïnstalleerd.
Copyright (c) 2002, 2005 IBM Corporation en anderen.
Alle rechten voorbehouden. Dit programma en het begeleidende materiaal zijn beschikbaar gesteld onder de voorwaarden van de Eclipse Public License v1.0 die bij deze distributie is geleverd en beschikbaar is op http://www.eclipse.org/legal/epl-v10.html.