Descripción: el área de trabajo da soporte al concepto de constructor incremental de proyectos (o "constructor", para abreviar). El trabajo de un constructor consiste en procesar un conjunto de cambios realizados en los recursos (suministrados como delta de recursos). Por ejemplo, un constructor Java recompilará los archivos Java cambiados y producirá nuevos archivos de clase.
Para cada proyecto se configura un constructor, que se ejecuta automáticamente cuando cambian los recursos que hay en el proyecto. Como tales, los constructores deberán ser rápidos y tener una escalabilidad proporcional a la cantidad de cambios, en vez de al número de recursos que haya en el proyecto. Esto implica generalmente que los constructores sean capaces de actualizar incrementalmente su "estado de construcción".
El punto de extensión de los constructores permite a los escritores de constructores registrar la implementación de sus constructores bajo un nombre simbólico, que luego se utiliza desde dentro del área de trabajo para localizar y ejecutar los constructores. El nombre simbólico es el ID de la extensión del constructor. Al definir la extensión de un constructor, es aconsejable que los usuarios incluyan para el atributo "name" un valor legible por personas que identifique el constructor y pueda presentarse potencialmente a los usuarios.
Códigos XML de configuración:
<!ELEMENT extension (builder)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
<!ELEMENT builder (run?)>
<!ATTLIST builder
hasNature (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>Si esta extensión se ha definido en un conector cuyo id sea "com.xyz.coolplugin", el nombre totalmente calificado de este constructor sería "com.xyz.coolplugin.coolbuilder".
Información sobre las API: el valor del atributo class debe representar una subclase de org.eclipse.core.resources.IncrementalProjectBuilder.
Implementación suministrada: la propia plataforma no posee ningún constructor predefinido. La instalación de algunos productos en particular puede incluir constructores en caso necesario.
Copyright (c) 2002 IBM Corporation y otros.
Reservados todos los derechos. Este programa y sus materiales adjuntos están disponibles
bajo los términos de la licencia pública común (Common Public License) v1.0 que acompaña a
esta distribución, y está disponible en
http://www.eclipse.org/legal/cpl-v10.html