使用适配器扩展点来实现源控制管理系统

使用源控制管理适配器扩展点来实现以下各种源控制管理系统:CVS、IBM® Rational® ClearCase®(Base 和 UCM ClearCase)以及 IBM Rational Team Concert。

关于此任务

可使用源控制管理扩展点将源控制管理用户界面与 Rational Asset Manager Eclipse 客户机集成。当源控制管理系统管理所提交资产的资源工件时,会确定添加者。添加者基于资源工件的 teamRepositoryProviderID 和每个工件上记录的 artifactReferenceKind 信息。必须先由添加者确定哪些文件是已检出文件和已检入文件,您才能提交资产。需要将文件提交给源控制管理系统,才能记录源控制管理信息,以便跟踪。添加者还会创建与源控制管理系统的连接,以允许将源控制管理中的文件检出至 Eclipse 工作空间。可通过选项来选择从中提交资产的分支、选择其他适当的分支或创建新分支。

可使用源控制管理适配器扩展点来提供有关受源控制管理控制的工件的参考信息。源控制管理信息在工件的参考部分中。此信息允许添加者将资源检入到源控制管理中,确定需要检入哪些资源,从相应源控制管理系统导入 Eclipse 项目以及提供对分支的支持。为了提供与源控制管理系统的完整集成,还必须使用 com.ibm.ram.rich.ui.extension.teamUIContributor 扩展点。

API 信息:

可使用源控制管理适配器扩展点来定义多个 teamContributor 添加者。每个添加者需要提供用于扩展 com.ibm.ram.rich.core.scm.TeamContributor 的类。

每个添加者必须提供一个或多个 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>
  • id:每个添加项的标识。
  • name:每个添加项的可读性名称。
  • class:该类提供源控制管理系统与 Rational Asset Manager 的交互的添加项。必须扩展 com.ibm.ram.rich.core.scm.TeamContributor 类来提供添加项。
<!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>

反馈