어댑터 확장점을 사용하여 소스 제어 관리 시스템 구현

소스 제어 관리 어댑터 확장점을 사용하면 CVS, IBM® Rational® ClearCase®(기본, UCM ClearCase), IBM Rational Team Concert와 같은 다양한 소스 제어 관리 시스템을 구현할 수 있습니다.

이 태스크 정보

소스 제어 관리 확장점을 사용하면 소스 제어 관리 사용자 인터페이스를 Rational Asset Manager Eclipse 클라이언트와 통합할 수 있습니다. 소스 제어 관리 시스템이 사용자가 제출하는 자산의 자원 아티팩트를 관리하는 경우 컨트리뷰터가 판별됩니다. 컨트리뷰터는 자원 아티팩트의 teamRepositoryProviderID 및 각 아티팩트의 레코드된 artifactReferenceKind 정보에 기반합니다. 자산을 제출하기 위해 컨트리뷰터가 체크아웃될 파일을 판별하고 모든 파일에 체크인합니다. 추적성을 위해 소스 제어 관리 정보를 기록할 수 있도록 파일을 소스 제어 관리 시스템에 제출해야 합니다. 컨트리뷰터는 소스 제어 관리 시스템에 대한 연결도 작성하므로 소스 제어 관리에서 Eclipse 작업공간으로 파일을 체크아웃할 수 있습니다. 자산을 제출한 분기를 선택하거나 기타 적절한 분기를 선택 또는 새 분기를 작성할 수 있는 옵션에서 선택할 수 있습니다.

소스 제어 관리 어댑터 확장점을 사용하면 소스 제어 관리 제어 하에 있는 아티팩트에 대한 참조 정보를 제공할 수 있습니다. 소스 제어 관리 정보는 아티팩트의 참조 섹션에 있습니다. 컨트리뷰터는 이 정보를 사용하여 소스 제어 관리에 자원을 체크인하고, 체크인해야 하는 자원을 판별하고, 관련 소스 제어 관리 시스템에서 Eclipse 프로젝트를 가져오고, 분기에 대한 지원을 제공할 수 있습니다. 소스 제어 관리 시스템과 완전한 통합을 제공하려면 com.ibm.ram.rich.ui.extension.teamUIContributor 확장점도 사용해야 합니다.

API 정보:

소스 제어 관리 어댑터 확장점을 사용하여 여러 teamContributor 컨트리뷰터를 정의할 수 있습니다. 각 컨트리뷰터는 com.ibm.ram.rich.core.scm.TeamContributor로 확장되는 클래스를 제공해야 합니다. com.ibm.ram.rich.core.scm 패키징을 참조하십시오.

각 컨트리뷰터는 하나 이상의 artifactReferenceKind 요소를 제공해야 합니다. 이 요소는 각 아티팩트에 첨부되어 아티팩트가 위치한 소스 제어 관리 시스템을 식별합니다. 자산을 사용하여 해당 자산의 아티팩트에 사용할 teamUIContributor를 판별해야 합니다. 컨트리뷰터는 다른 컨트리뷰터가 방해하지 않도록 이 속성에 대해 전역적으로 고유한 이름(예: org.organization.product.ram.myscm)을 선택해야 합니다.

각 컨트리뷰터가 하나의 teamRepositoryProviderID 요소를 제공해야 합니다. 이 요소는 작업공간에서 해당 자원의 소스 제어 관리 시스템을 식별합니다. 자원의 저장소 제공자는 org.eclipse.team.core.RepositoryProvider.getProvider(IProject)를 사용하여 얻을 수 있습니다. 각 저장소 제공자의 ID는 org.eclipse.team.core.RepositoryProvider.getID()를 사용하여 얻을 수 있습니다. teamRepositoryProviderID 요소의 repositoryProviderID 속성에서 이 ID를 제공해야 합니다.

구성 마크업:

<!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>
  • id: 각 컨트리뷰션의 ID.
  • name: 각 컨트리뷰션의 판독 가능 이름.
  • class: 클래스는 Rational Asset Manager가 소스 제어 관리 시스템과 상호작용하도록 컨트리뷰션을 제공합니다. com.ibm.ram.rich.core.scm.TeamContributor 클래스를 확장하여 컨트리뷰션을 제공해야 합니다.
<!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)를 사용하여 얻을 수 있습니다. 각 저장소 제공자는 org.eclipse.team.core.RepositoryProvider.getID()를 사용하여 얻을 수 있는 ID가 있습니다. teamRepositoryProviderID 요소의 repositoryProviderID 속성에서 이 ID를 제공하십시오.

<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>

피드백