Recursos derivados

Muchos recursos se crean mientras se traducen, compilan, copian o procesan de alguna otra manera los archivos que el usuario crea y edita.  Llamamos recursos derivados a los que no son datos originales y se pueden recrear a partir de los correspondientes archivos fuente.  Es habitual que los archivos derivados queden excluidos de determinados tipos de proceso.  

Por ejemplo, los recursos derivados no se suelen conservar en un repositorio de equipo, porque llenan desordenadamente el repositorio, cambian con frecuencia y además se pueden recrear a partir de sus archivos fuente.  No resulta práctico que los proveedores del equipo tomen decisiones sobre qué archivos son los derivados.  La API de recursos proporciona un mecanismo común para que los conectores indiquen qué recursos creados por ellos son derivados.

Los conectores pueden utilizar el método IResource.setDerived(boolean) para indicar que un recurso se deriva de otros recursos. Los recursos de nueva creación no son derivados por omisión, por lo que hay que usar este método para marcar explícitamente el recurso como derivado.  Un uso común es el de marcar una subcarpeta del proyecto como derivada cuando el conector crea una carpeta de "salida" (como la carpeta "bin" de los proyectos Java).

Otros conectores, que suelen ser los proveedores de equipo, pueden emplear el método IResource.isDerived para determinar si un recurso concreto debe estar gestionado por el repositorio.  Los intentos de marcar los proyectos o el directorio raíz del área de trabajo como derivados se pasarán por alto.

Nota: el concepto de recursos derivados aplicado a otros conectores (no de equipo) permite indicar qué recursos son inadecuados para la gestión del repositorio.  Los archivos especiales creados por las implementaciones de equipo para gestionar sus datos no se deben marcar como recursos derivados.  En el tema Recursos privados del equipo hallará información sobre la técnica para marcar como ocultos los recursos de implementación relacionados con el equipo.