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

CVS、IBM® Rational® ClearCase® (Base および UCM ClearCase)、および IBM Rational Team Concert などのさまざまなソース・コントロール管理システムを実装するには、ソース・コントロール管理ユーザー・インターフェース・アダプターの拡張ポイントを使用します。

このタスクについて

ソース・コントロール管理ユーザー・インターフェース・アダプターの拡張ポイントを使用することで、ソース・コントロール管理ユーザー・インターフェースと Rational Asset Manager Eclipse クライアントを統合することができます。 登録するアセットのリソース成果物をソース・コントロール管理システムで管理する場合は、コントリビューターが決定されます。 コントリビューターは、リソース成果物の teamRepositoryProviderID、および各成果物に記録された artifactReferenceKind 情報が基になります。 コントリビューターがどのファイルがチェックアウトされているかを判別し、すべてのファイルをチェックインするまで、アセットを登録することはできません。 追跡可能性確保のためソース・コントロール管理情報を記録できるように、ファイルをソース・コントロール管理システムに登録する必要があります。 コントリビューターは、ソース・コントロール管理から Eclipse ワークスペースへのファイルのチェックアウトを可能にする、ソース・コントロール管理システムへの接続も作成します。 アセットの登録元となったブランチを選択するオプション、その他の適切なブランチを選択するオプション、または新規のブランチを作成するオプションから選択することができます。

ソース・コントロール管理ユーザー・インターフェース・アダプターの拡張ポイントを使用すると、成果物の装飾およびプロパティーの定義、アセットのインポートで使用可能なブランチの判別、ユーザーによるそれぞれのソース・コントロール管理リポジトリーへの接続作成の許可を行うことができます。

ソース・コントロール管理システムとの完全な統合を実現するためには、com.ibm.ram.rich.core.teamContributor 拡張ポイントも使用する必要があります。 com.ibm.ram.rich.core.teamContributor 拡張ポイントの使用について詳しくは、『アダプターの拡張ポイントによるソース・コントロール管理システムの実装』を参照してください。

API 情報

ソース・コントロール管理ユーザー・インターフェース・アダプターの拡張ポイントを使用して、複数の teamUIContributor コントリビューターを定義することができます。 各コントリビューターは、com.ibm.ram.rich.ui.scm.TeamUIContributor を拡張するクラスを指定する必要があります。

各コントリビューターは、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 (teamUIContributor+)>
<!ATTLIST extension  
 point CDATA #REQUIRED 
 id CDATA #IMPLIED
 name  CDATA#IMPLIED>

<!ELEMENT teamUIContributor (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) を使用することによって取得できます。 各リポジトリー・プロバイダーの ID は、org.eclipse.team.core.RepositoryProvider.getID() を使用することによって取得できます。 teamRepositoryProviderID 要素の repositoryProviderID 属性に、この ID を指定する必要があります。

<extension id="com.ibm.ram.rich.ui.teamUIContributor" 
 name="Team UI Contributor" 
 point="com.ibm.ram.rich.ui.extension.teamUIContributor">

<teamUIContributor class="com.ibm.ram.internal.rich.ui.scm.CVSArtifactUIContributorWrapper"
 id="com.ibm.ram.rich.core.teamContributor.cvs"
 name="Team UI Contributor">

<artifactReferenceKind kind="CVS">

<teamRepositoryProviderID repositoryProviderID="org.eclipse.team.cvs.core.cvsnature">

</teamRepositoryProviderID>
</teamUIContributor>
</extension>

フィードバック