CVS、IBM® Rational® ClearCase® (Base および UCM ClearCase)、および IBM Rational Team Concert などのさまざまなソース・コントロール管理システムを実装するには、ソース・コントロール管理アダプターの拡張ポイントを使用します。
ソース・コントロール管理アダプターの拡張ポイントを使用することで、ソース・コントロール管理の制御下にある成果物に関する参照情報を提供することができます。 ソース・コントロール管理の情報は、成果物の参照セクションにあります。 コントリビューターは、この情報によって、リソースのソース・コントロール管理へのチェックイン、チェックインする必要があるリソースの判別、各ソース・コントロール管理システムからの Eclipse プロジェクトのインポート、およびブランチに対するサポートの提供を行うことができるようになります。 ソース・コントロール管理システムとの完全な統合を実現するためには、com.ibm.ram.rich.ui.extension.teamUIContributor 拡張ポイントも使用する必要があります。
API 情報
ソース・コントロール管理アダプターの拡張ポイントを使用して、複数の teamContributor コントリビューターを定義することができます。 各コントリビューターは、com.ibm.ram.rich.core.scm.TeamContributor を拡張するクラスを指定する必要があります。 『Package com.ibm.ram.rich.core.scm』を参照してください。
各コントリビューターは、1 つ以上の artifactReferenceKind 要素を指定する必要があります。 この要素を各成果物に付加することで、成果物の管理元のソース・コントロール管理システムが特定されます。 アセットを使用して、そのアセットの成果物に対して使用する必要がある teamUIContributor を判別しなければなりません。 コントリビューターは、この属性が他のコントリビューターに干渉しないように、この属性にグローバルに一意の修飾名 (org.organization.product.ram.myscm など) を選択する必要があります。
各コントリビューターは、1 つの teamRepositoryProviderID 要素を指定する必要があります。 この要素により、ワークスペース内のそのリソースに対するソース・コントロール管理システムが特定されます。 リソースのリポジトリー・プロバイダーは、org.eclipse.team.core.RepositoryProvider.getProvider(IProject) を使用することによって取得できます。 各リポジトリー・プロバイダーの ID は、org.eclipse.team.core.RepositoryProvider.getID() を使用することによって取得できます。 teamRepositoryProviderID 要素の repositoryProviderID 属性に、この ID を指定する必要があります。
構成マークアップ
<!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() を使用することによって取得可能な ID があります。
この ID を、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>