ソース・コントロール管理ユーザー・インターフェース・アダプターの拡張ポイントを使用すると、成果物の装飾およびプロパティーの定義、アセットのインポートで使用可能なブランチの判別、ユーザーによるそれぞれのソース・コントロール管理リポジトリーへの接続作成の許可を行うことができます。
ソース・コントロール管理システムとの完全な統合を実現するためには、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>