Use o ponto de extensão do adaptador de gerenciamento de controle de origem para implementar esses vários sistemas de gerenciamento de controle de origem: CVS, IBM® Rational ClearCase (Base e UCM ClearCase), e IBM Rational Team Concert.
É possível usar o ponto de extensão do adaptador de gerenciamento de controle de origem para fornecer informações de referência sobre os artefatos que estão sob o controle de gerenciamento do controle de origem. As informações de gerenciamento de controle de origem estão localizadas na seção de referência de um artefato. As informações permitem que os contribuidores verifiquem nos recursos o gerenciamento de controle de origem, determinem quais recursos precisam ser verificados, importem os projetos do Eclipse a partir do sistema de gerenciamento de controle de origem respectivo e forneçam suporte para ramificação. Para fornecer integração completa com um sistema de gerenciamento de controle de origem, também é necessário usar o ponto de extensão com.ibm.ram.rich.ui.extension.teamUIContributor.
Informações da API:
É possível usar o ponto de extensão do adaptador de gerenciamento de controle de origem para definir vários contribuidores teamContributor. Cada contribuidor precisa fornecer uma classe que se estenda para com.ibm.ram.rich.core.scm.TeamContributor. Consulte Pacote com.ibm.ram.rich.core.scm .
Cada contribuidor deve fornecer um ou mais elementos artifactReferenceKind. Esse elemento é anexado a cada artefato para identificar o sistema de gerenciamento de controle de origem a partir do qual o artefato é proveniente. Você deve utilizar o recurso para determinar o teamUIContributor que precisa utilizar para os artefatos desse recurso. Os contribuidores precisam selecionar um nome completo globalmente exclusivo para esse atributo, como org.organization.product.ram.myscm, para que o atributo não interfira em outros contribuidores.
Cada contribuidor deve fornecer um elemento teamRepositoryProviderID. Esse elemento identifica o sistema de gerenciamento de controle de origem para esse recurso na área de trabalho. Você pode obter o provedor de repositório para um recurso com org.eclipse.team.core.RepositoryProvider.getProvider(IProject). O ID de cada provedor de repositório pode ser obtido com org.eclipse.team.core.RepositoryProvider.getID(). Forneça esse ID no atributo repositoryProviderID do elemento teamRepositoryProviderID.
Marcação de Configuração:
<!ELEMENT extension (teamContributor+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA#IMPLIED>
<!ELEMENT teamContributor (artifactReferenceKind+ ,teamRepositoryProviderID)>
<!ATTLIST extension
point CDATA#REQUIRED
id CDATA #IMPLIED
name CDATA #REQUIRED>
<!ELEMENT artifactReferenceKindEmpty>
<!ATTLIST artifactReferenceKind
kind CDATA #REQUIRED>
Esse atributo é anexado a
cada artefato para identificar a partir de qual sistema de gerenciamento de controle de origem o
artefato é proveniente. O atributo é
utilizado ao consumir o recurso para determinar qual teamUIContributor ou teamContributor
utilizar para artefatos. Os contribuidores precisam selecionar um nome completo
globalmente exclusivo para esse atributo, como org.organization.product.ram.myscm, para
que o atributo não interfira em outros contribuidores.<!ELEMENT teamRepositoryProviderID EMPTY>
<!ATTLIST teamRepositoryProviderID
repositoryProviderID CDATA #REQUIRED>
Esse código identifica
o sistema de gerenciamento de controle de origem para o recurso na
área de trabalho. Você pode obter um
provedor de repositório para cada recurso utilizando o org.eclipse.team.core.RepositoryProvider.getProvider(IProject).
Cada provedor de repositório tem um ID que pode ser obtido utilizando o
org.eclipse.team.core.RepositoryProvider.getID(). Forneça esse ID no atributo repositoryProviderID do elemento
teamRepositoryProviderID.<extension id="com.ibm.ram.rich.core.artifactContributor"
name="Core Artifact Contributor"
point="com.ibm.ram.rich.core.teamContributor">
<teamContributor class="com.ibm.ram.internal.rich.core.scm.ccvs.CVSArtifactContributorWrapper"
id="com.ibm.ram.rich.core.teamContributor.cvs"
name="CVS Team Contributor">
<artifactReferenceKind kind="CVS">
<teamRepositoryProviderID repositoryProviderID="org.eclipse.team.cvs.core.cvsnature">
</teamRepositoryProviderID>
</teamContributor>
</extension>