Constructores incrementales de proyectos

Identificador: org.eclipse.core.resources.builders

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 (conjunto suministrado como delta de recursos). Por ejemplo, un constructor Java recompilaría los archivos Java cambiados y produciría nuevos archivos de clase.

Para cada proyecto se configura un constructor, que se ejecuta automáticamente cuando se 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 generalmente implica 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 una extensión del constructor, se anima a los usuarios a que 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 builder run?>
   <!ATTLIST builder
      hasNature    CDATA #IMPLIED
   >

   <!ELEMENT run parameter*>   <!ATTLIST run
      class          CDATA #REQUIRED
   >    <!ELEMENT parameter EMPTY>
   <!ATTLIST parameter
      name         CDATA #REQUIRED
      value        CDATA #REQUIRED
   > Ejemplos:

A continuación vemos un ejemplo de configuración de un constructor:

   <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 IBM Corp. 2000, 2002. Reservados todos los derechos.