Implementing source control management systems with the adapter extension point
Use the source control management adapter extension point to Implement these various source control management systems: CVS, IBM® Rational® ClearCase® (Base and UCM ClearCase), and IBM Rational Team Concert.
About this task
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.
For more information on the com.ibm.ram.rich.ui.extension.teamUIContributor extension point, see insert link to "Using the SCM user interface adapter extension point" topic
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>
- Draft comment:id: The ID for each contribution.
Indicate what this list refers to. Does it refer to the code above or below it? - name: A human readable name for each contribution.
- class: The class provides contributions for the Rational Asset Manager interaction with the source control management system. You must extend the com.ibm.ram.rich.core.scm.TeamContributor class to provide contributions.
<!ELEMENT artifactReferenceKindEmpty>
<!ATTLIST artifactReferenceKind
kind CDATA #REQUIRED>This attribute which attribute are we referring to? the code above or below this section?
<!ELEMENT teamRepositoryProviderID EMPTY>
<!ATTLIST teamRepositoryProviderID
repositoryProviderID CDATA #REQUIRED>
Thissee the comment above
Example
Is this example associated with the section above it, or is it an overall example of the processes covered in this topic?
<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>
This topic seems more like concept material than task material. Consider making this a concept topic.