可使用源控制管理适配器扩展点来提供有关受源控制管理控制的工件的参考信息。源控制管理信息在工件的参考部分中。此信息允许添加者将资源检入到源控制管理中,确定需要检入哪些资源,从相应源控制管理系统导入 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() 来获取每个存储库提供者的标识。必须在 teamRepositoryProviderID 元素的 repositoryProviderID 属性中提供此标识。
配置标记:
<!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() 来获取该标识。应在 teamRepositoryProviderID
元素的 repositoryProviderID 属性中提供此标识。<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>