Dado que los recursos que hay dentro de un proyecto sujeto al control de versiones se conservan en el repositorio, es posible compartir los proyectos con los miembros del equipo compartiendo una referencia a la información específica del repositorio que se necesita para reconstruir un proyecto en el área de trabajo. Para ello se utiliza un tipo especial de exportación de archivo para los conjuntos de proyectos del equipo.
En la versión 3.0 se ha añadido una API a ProjectSetCapability que permite a los proveedores de repositorios declarar una clase que implementa el guardado de proyectos que se encuentran bajo su control. Cuando el usuario opta por exportar conjuntos de proyectos, solo se muestran como candidatos a la exportación los proyectos configurados con los repositorios que definen los conjuntos de proyectos. Esta API sustituye la antigua API de serialización de conjunto de proyectos (consulte la información que figura más adelante).
La clase de posibilidad de conjunto de proyectos de un proveedor de repositorios se obtiene de la clase RepositoryProviderType, que se registra en la misma extensión que el proveedor de repositorios. Por ejemplo:
<extension point="org.eclipse.team.core.repository"> <repository typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType" class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider" id="org.eclipse.team.cvs.core.cvsnature"> </repository> </extension>
Antes de la versión 3.0, el punto de extensión org.eclipse.team.core.projectSets permitía a los proveedores de repositorios declarar una clase que implemente el guardado de los proyectos sujetos al control de dichos proveedores. Cuando el usuario opta por exportar conjuntos de proyectos, solo se muestran como candidatos a la exportación los proyectos configurados con los repositorios que definen los conjuntos de proyectos.
Por ejemplo, el cliente CVS declara lo siguiente:
<extension point="org.eclipse.team.core.projectSets"> <projectSets id="org.eclipse.team.cvs.core.cvsnature" class="org.eclipse.team.internal.ccvs.ui.CVSProjectSetSerializer"/> </extension>
La clase especificada debe implementar la interfaz IProjectSetSerializer. El uso de esta interfaz sigue estando soportado en la versión 3.0, pero ha quedado obsoleto.