You can use the source control management user interface adapter extension point to define decorations and properties for artifacts, determine which branches are available for an asset import, and allow users to create connections to respective source control management repositories.
To provide complete integration with an source control management system, you must also use the com.ibm.ram.rich.core.teamContributor extension point. For more information on using the com.ibm.ram.rich.core.teamContributor extension point, see Using the source control management adapter extension point.
API information:
You can use the source control management user interface adapter extension point to define multiple teamUIContributor contributors. Each contributor needs to provide a class that extends to com.ibm.ram.rich.ui.scm.TeamUIContributor.Each contributor must provide one or more artifactReferenceKind elements. This element is attached to each artifact to identify the source control management system that the artifact comes from. You must use the asset to determine the teamUIContributor that you need to use for the artifacts of that asset. Contributors need to select a qualified globally unique name for this attribute, such as org.organization.product.ram.myscm, so that the attribute does not interfere with other contributors.
Each contributor must provide one teamRepositoryProviderID element. This element identifies the source control management system for that resource in workspace. You can obtain a repository provider with org.eclipse.team.core.RepositoryProvider.getProvider(IProject). You can obtain the ID for each repository provider with org.eclipse.team.core.RepositoryProvider.getID(). You must provide this ID in the repositoryProviderID attribute of the teamRepositoryProviderID element.
Configuration markup:
<!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>Use the following extension point to contribute user interface artifacts:
<!ELEMENT artifactReferenceKindEmpty> <!ATTLIST artifactReferenceKind kind CDATA #REQUIRED>The following attribute attaches to each artifact and identifies the source control management system where the artifact originated. Use this attribute when you consume the asset to determine the teamUIContributor or teamContributor that you need to use for artifacts. Contributors must select a qualified globally unique name for this attribute, such as org.organization.product.ram.myscm, so that the attribute does not interfere with other contributors.
<!ELEMENT teamRepositoryProviderID EMPTY> <!ATTLIST teamRepositoryProviderID repositoryProviderID CDATA #REQUIRED>This code identifies the source control management system for a resource in your workspace. You can obtain a repository provider for a resource with org.eclipse.team.core.RepositoryProvider.getProvider(IProject). You can obtain an ID for each repository provider with org.eclipse.team.core.RepositoryProvider.getID(). You must provide this ID in the repositoryProviderID attribute of the teamRepositoryProviderID element.
<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>