Fornecedor de Repositórios de Equipa

org.eclipse.team.core.repository

2.0

O plugin de equipa (Team) contém o conceito de Repositórios. O trabalho de um repositório é facultar suporte para partilhar recursos entre membros da equipa. Os repositórios são configurados consoante cada projecto. Só pode ser correlacionado um repositório a um projecto de cada vez.

Os repositórios que expandem este ponto de extensão podem facultar implementações para regras específicas de repositório comuns, destinadas a modificações de recursos, a mover e eliminar. Consulte as seguintes interfaces, IFileModificationValidator e MoveDeleteHook, para obter mais detalhes.

Também pode ser especificado um tipo de repositório, de forma a facultar funções específicas que não sejam de projecto como, por exemplo, um org.eclipse.team.core.ProjectSetCapability.

Como opção, um tipo de fornecedor de repositórios pode designar que pode importar projectos de um segundo fornecedor, caso o plugin do segundo fornecedor não esteja disponível na actual instalação. Desta forma, permite-se suportar a migração de uma implementação de um fornecedor para outro, em que não era possível a reutilização do mesmo id nos dois fornecedores.

Um tipo de fornecedor de repositórios também pode especificar um ou mais caminhos de metaficheiros (delimitados por vírgulas) que são relativos a um contentor ascendente. Caso um projecto ou pasta não partilhados contenham ficheiros que correspondam a todos os metaficheiros associados à definição do repositório, será invocado o método RepositoryProviderType#metaFilesDetected com o contentor ascendente como um argumento. Isto permite dar ao tipo de repositório a oportunidade de marcar os ficheiros como equipa privada e, potencialmente, também partilhar o projecto. Consulte o ficheiro javadoc do método supramencionado para obter mais detalhes.

<!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>

O valor do atributo class tem de representar uma subclasse de org.eclipse.team.core.RepositoryProvider e o valor do atributo typeClass tem de representar uma subclasse de org.eclipse.team.core.RepositoryProviderType

A implementação facultada de RepositoryProvider fornece métodos de ajuda e código comum para correlacionar e descorrelacionar fornecedores a projectos. O RepositoryProviderType opcional fornece a importação e exportação de conjuntos de projectos através de ProjectSetCapability.