Provedor de Repositórios de Equipe

org.eclipse.team.core.repository

2.0

O plug-in Equipe contém a noção de Repositórios. O job de um repositório é fornecer suporte para o compartilhamento de recursos entre membros da Equipe. Os repositórios são configurados por projeto. Apenas um repositório pode ser mapeado para um projeto de cada vez.

Os repositórios que estendem esse ponto de extensão podem fornecer implementações para regras específicas de repositórios comuns para a modificação, a movimentação e a exclusão de recursos. Consulte as interfaces IFileModificationValidator e MoveDeleteHook para obter mais detalhes.

Um tipo Repositório também pode ser especificado a fim de fornecer recurso específico sem ser de projeto, como um org.eclipse.team.core.ProjectSetCapability.

Opcionalmente, um tipo de provedor de repositório pode designar que ele pode importar projetos do segundo provedor, no caso em que o segundo plug-in do provedor não está disponível na instalação atual. Isto é fornecido como um meio de suportar a migração de uma implementação do provedor para outra em que a reutilização do mesmo ID para os dois provedores não foi possível.

Um tipo de provedor do repositório pode especificar também um ou mais caminhos de metarquivo (delimitados por vírgulas) que são relativos a um contêiner pai. Se um projeto ou pasta não compartilhados contiver arquivos que correspondam a todos os caminhos de metarquivo associados a uma definição de repositório, o método RepositoryProviderType#metaFilesDetected será chamado com o contêiner pai como um argumento. Isso é feito para oferecer ao tipo de repositório uma chance de marcar os arquivos privados da equipe e, potencialmente, compartilhar o projeto também. Consulte o javadoc do método mencionado acima 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>


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

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

A implementação fornecida pelo RepositoryProvider fornece códigos comuns e métodos auxiliares para o mapeamento e para o não-mapeamento de fornecedores em projetos. O RepositoryProviderType opcional fornece importação e exportação de um conjunto de projeto através de um ProjectSetCapability.