Construcciones

Los constructores crean o modifican recursos del área de trabajo, habitualmente basándose en la existencia y el estado de otros recursos. Son un mecanismo potente para la aplicación de restricciones de algún dominio. Por ejemplo, un constructor Java convierte archivos fuente Java (archivos .java) en archivos de clase ejecutables (archivos .class), un constructor de enlaces Web actualiza los enlaces a aquellos archivos cuyo nombre o ubicación ha cambiado, etc.  A medida que se crean y se modifican los recursos, los constructores se ejecutan y las restricciones se mantienen. No es necesario que esta transformación sea uno a uno. Por ejemplo, un solo archivo .java puede producir varios archivos .class. 

Construcción automática y construcción manual

Hay dos modalidades de trabajo del usuario bien diferenciadas con respecto a la construcción: basándose en la construcción automática o haciendo construcciones manuales iniciadas por el usuario.

Los usuarios que no necesitan tener un control muy detallado sobre cuándo se producen las construcciones, pueden simplemente optar por las construcciones automáticas.  Con la opción de construcciones automáticas activada, las construcciones se producen después de cada grupo de cambios efectuados en los recursos (por ejemplo, guardar un archivo, importar un archivo zip, etc.).  Las construcciones automáticas son eficaces porque la cantidad de trabajo realizado es proporcional a la cantidad de cambios efectuados.  La ventaja de la construcción automática es que los recursos derivados (por ejemplo, archivos .class de Java) siempre están actualizados. La construcción automática se activa/desactiva mediante la opción Construir automáticamente en la página de preferencias General > Espacio de trabajo.

Los usuarios que necesiten tener más control sobre cuándo se producen las construcciones, pueden desactivar la opción de construcciones automáticas e invocar manualmente las construcciones. En ocasiones, esta situación puede ser deseable en aquellos casos donde, por ejemplo, se sabe que la construcción no tiene ningún sentido hasta que se finalice un gran conjunto de cambios.En esta caso, no se obtiene ninguna ventaja por pagar el coste de las construcciones automáticas. Las construcciones pueden invocarse manualmente de diversas maneras, por ejemplo, seleccionando Construir proyecto desde el menú de contexto de un proyecto.

La desventaja de la construcción manual es que los problemas que se generaron para indicar errores de construcción rápidamente se vuelven obsoletas hasta que no se realice la construcción. Además, es muy importante recordar que debe realizarse la construcción manual antes de confiar en la salida de la construcción (por ejemplo, antes de ejecutar el programa Java).

Construcción y limpieza

Las construcciones funcionan de forma incremental basándose en un estado de construcción anterior. Aplicarán las transformaciones de los constructores configurados sólo en los recursos que se hayan modificado desde que se calculó el estado anterior (es decir, desde la última construcción). La construcción automática siempre utiliza la construcción incremental para una mayor eficacia.

Una construcción de limpieza (Proyecto > Limpiar) descarta cualquier estado de construcción existente. La siguiente construcción tras una de limpieza transformará todos los recursos según las reglas de dominio de los constructores configurados.

Dependiendo de las necesidades del usuario, la construcción y la limpieza pueden realizarse en un conjunto específico de proyectos o en todo el espacio de trabajo. No se pueden construir archivos ni carpetas específicos por separado.