You can use the source control management adapter extension point to provide reference information about artifacts that are under source control management control. The source control management information is located in the reference section of an artifact. The information allows contributors to check in resources to source control management, determine which resources need to be checked in, import Eclipse projects from the respective source control management system, and provide support for branching. To provide complete integration with an source control management system, you must also use the com.ibm.ram.rich.ui.extension.teamUIContributor extension point.
API information:
You can use the source control management adapter extension point to define multiple teamContributor contributors. Each contributor needs to provide a class that extends to com.ibm.ram.rich.core.scm.TeamContributor. See Package com.ibm.ram.rich.core.scm .
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 the workspace. You can obtain the repository provider for a resource 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 (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>This attribute attaches to each artifact to identify which source control management system the artifact comes from. The attribute is used when consuming the asset to determine which teamUIContributor or teamContributor to use for artifacts. 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.
<!ELEMENT teamRepositoryProviderID EMPTY> <!ATTLIST teamRepositoryProviderID repositoryProviderID CDATA #REQUIRED>Thiscode identifies the source control management system for the resource in the workspace. You can obtain arepository provider for each resource by using the org.eclipse.team.core.RepositoryProvider.getProvider(IProject). Each repository provider has an ID that you can obtain by using the org.eclipse.team.core.RepositoryProvider.getID(). Provide this ID in the repositoryProviderID attribute of the teamRepositoryProviderID element.
<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>