Programme für schrittweise Projekterstellung

org.eclipse.core.resources.builders

Der Areitsbereichunterstützt das Konzept eines Programms für die schrittweise Projekterstellung (oder kurz "Erstellungsprogramm" genannt). Aufgabe eines Erstellungsprogramms ist die Verarbeitung einer Reihe von Ressourcenänderungen (die als Ressourcendelta bereitgestellt werden). Ein Java-Erstellungsprogramm würde beispielsweise geänderte Java-Dateien erneut kompilieren und neue Klassendateien erzeugen.

Erstellungsprogramme werden projektbezogen konfiguriert und automatisch ausgeführt, sobald Ressourcen im jeweiligen Projekt geändert werden. Insofern sollten sich Durchsatz und Leistungsfähigkeit von Erstellungsprogrammen nicht an der Anzahl der Ressourcen im Projekt, sondern vielmehr am Umfang der vorgenommenen Änderungen orientieren. Dies impliziert typischerweise, dass Erstellungsprogramme in der Lage sind, ihren "Erstellungsstatus" schrittweise zu aktualisieren.

Am Erweiterungspunkt für Erstellungsprogramme können Erstellungsprogramme ihre Erstellungsprogrammimplementierungen unter einem symbolischen Namen registrieren, der dann im Arbeitsbereich verwendet wird, um Erstellungsprogramme aufzufinden und auszuführen. Der symbolische Name ist die ID der Erstellungsprogrammerweiterung. Beim Definieren einer Erstellungsprogrammerweiterung sollten Benutzer einen aussagekräftigen Wert für das Attribut "Name" einbeziehen, der ihr Erstellungsprogramm identifiziert und möglicherweise Benutzern vorgestellt werden könnte.

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


Das folgende Beispiel stellt die Konfiguration eines Erstellungsprogramms dar:

   

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

Wenn diese Erweiterung in einem Plug-in mit der Kennung "com.xyz.coolplugin" definiert wurde, wäre der vollständig qualifizierte Name dieses Erstellungsprogramms "com.xyz.coolplugin.coolbuilder".

Der Wert des Attributs "class" muss eine Unterklasse von org.eclipse.core.resources.IncrementalProjectBuilder implementieren.

Die Plattform selbst stellt keine vordefinierten Erstellungsprogramme bereit. Spezielle Produktinstallationen können ggfs. Erstellungsprogramme enthalten.