アダプターの拡張ポイントによるソース・コントロール管理システムの実装

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 を拡張するクラスを指定する必要があります。

各コントリビューターは、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>
  • id: 各コントリビューションの 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() を使用することによって取得可能な 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>

フィードバック