Точку расширения адаптера управления версиями можно использовать для доступа к справочной информации об артефактах, находящихся под управлением системы управления версиями. Информация системы управления версиями находится в секции ссылок артефакта. Эта информация позволяет дополняющим классам возвращать ресурсы в систему управления версиями; определять, какие ресурсы необходимо вернуть; импортировать проекты Eclipse из соответствующей системы управления версиями и обеспечивать поддержку ветвей разработки. Для полной интеграции с системой управления версиями необходимо также использовать точку расширения com.ibm.ram.rich.ui.extension.teamUIContributor.
Информация по API:
Точка расширения адаптера управления версиями используется для создания нескольких дополняющих классов teamContributor. Каждый дополняющий класс должен поддерживать интерфейс com.ibm.ram.rich.core.scm.TeamContributor. См. Пакет com.ibm.ram.rich.core.scm.
Каждый дополняющий класс должен иметь один или несколько элементов artifactReferenceKind. Этот элемент прикрепляется к каждому артефакту для идентификации системы управления версиями, откуда артефакт был загружен. Необходимо использовать ресурс, чтобы определить teamUIContributor, который требуется для артефактов данного ресурса. Для этого атрибута следует выбрать глобальное уникальное имя, например org.organization.product.ram.myscm, чтобы исключить конфликт с атрибутами других дополняющих классов.
Каждый дополняющий класс должен иметь элемент teamRepositoryProviderID. Этот элемент идентифицирует систему управления версиями для данного ресурса в рабочей области. Тип хранилища для ресурса можно получить с помощью метода org.eclipse.team.core.RepositoryProvider.getProvider(IProject). ИД для каждого типа хранилища можно получить методом org.eclipse.team.core.RepositoryProvider.getID(). Этот ИД указывается в атрибуте repositoryProviderID элемента teamRepositoryProviderID.
Формат конфигурации:
<!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>
Этот атрибут прикрепляется к каждому артефакту для идентификации системы управления версиями, откуда артефакт был получен. Этот атрибут определяет, какой teamUIContributor или teamContributor будет использоваться для артефактов. Для этого атрибута следует выбрать глобальное уникальное имя, например org.organization.product.ram.myscm, чтобы исключить конфликт с атрибутами других дополняющих классов.<!ELEMENT teamRepositoryProviderID EMPTY>
<!ATTLIST teamRepositoryProviderID
repositoryProviderID CDATA #REQUIRED>
Этот код идентифицирует систему управления версиями для ресурса в рабочей области. Тип хранилища для ресурса можно получить с помощью метода org.eclipse.team.core.RepositoryProvider.getProvider(IProject).
Каждый тип хранилища имеет ИД, который можно получить методом
org.eclipse.team.core.RepositoryProvider.getID(). Этот ИД следует указать в атрибуте repositoryProviderID элемента 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>