Proveedor de repositorios de equipo

org.eclipse.team.core.repository

2.0

El conector de equipo (Team) incluye el concepto de repositorios. El trabajo de un repositorio consiste en proporcionar soporte para que los miembros del equipo compartan los recursos. Los repositorios se configuran en función del proyecto. En cualquier momento, sólo puede haber un repositorio correlacionado con un proyecto.

Los repositorios que amplían este punto de extensión pueden suministrar implementaciones para normas específicas de repositorios habituales con respecto a modificaciones de recursos, movimiento y supresión. Para obtener más detalles, consulte las interfaces IFileModificationValidator y MoveDeleteHook.

También puede especificarse un tipo de repositorio para suministrar funciones específicas no de proyecto, como por ejemplo org.eclipse.team.core.ProjectSetCapability.

Opcionalmente, un tipo de proveedor de repositorio puede designar que pueda importar proyectos de un segundo proveedor, en caso de que el conector del segundo proveedor no esté disponible en la instalación actual. Se proporciona como medio para dar soporte a la migarción de una implementación de proveedor a otro, en que la reutilización del mismo ID para los dos proveedores no ha sido posible.

Un tipo de proveedor de repositorio también puede especificar una o más vías de acceso de metaarchivos (delimitadas por comas) relativas a un contenedor padre. Si un proyecto o carpeta no compartido contiene archivos que coincidan con todas las vías de acceso de metaarchivo asociadas a una definición de repositorio, el método RepositoryProviderType#metaFilesDetected se invocará con el contenedor padre como argumento. Esto se realiza para dar al tipo de repositorio la posibilidad de marcar los archivos como equipo privado y potencialmente también compartir el proyecto. Consulte el archivo javadoc del método anteriormente mencionado para obtener más detalles.

<!ELEMENT extension (repository)>

<!ATTLIST extension

point CDATA #REQUIRED>


<!ELEMENT repository EMPTY>

<!ATTLIST repository

id            CDATA #IMPLIED

class         CDATA #REQUIRED

typeClass     CDATA #IMPLIED

canImportId   CDATA #IMPLIED

metaFilePaths CDATA #IMPLIED>


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProvider"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

El valor del atributo class debe representar una subclase de org.eclipse.team.core.RepositoryProvider y el valor del atributo typeClass debe representar una subclase de org.eclipse.team.core.RepositoryProviderType

La implementación suministrada de RepositoryProvider proporciona métodos de ayuda y código común para correlacionar y descorrelacionar los proveedores de los proyectos. El RepositoryProviderType opcional suministra importación y exportación de conjuntos de proyectos por medio de ProjectSetCapability.