Proveedor de repositorios de equipo

org.eclipse.team.core.repository

2.0

El plug-in 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 plug-in del segundo proveedor no esté disponible en la instalación actual. Se proporciona como medio para dar soporte a la migració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

fileSystemScheme CDATA #IMPLIED>


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProviderType"

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.