Grupplagerprovider

org.eclipse.team.core.repository

2.0

Gruppinsticksprogrammet innehåller uppmärksamhet av lager. Lagret uppgift är att tillhandahålla stöd för delning av resurser mellan gruppmedlemmar. Lager konfigureras per projekt. Endast ett lager kan avbildas till ett projekt åt gången.

Lager som utökar den här utökningspunkten kan tillhandahålla implementeringar för gemensamma lagerspecifika regler för ändring, flyttning och borttagning av resurser. I följande gränssnitt finns mer informationIFileModificationValidator och MoveDeleteHook.

En lagertyp kan även anges i syfte att tillhandahålla funktioner som inte är projektspecifika, t.ex. org.eclipse.team.core.ProjectSetCapability.

Om så önskas kan en lagerprovider ange att den kan importera projekt från en annan provider om den andra providerns insticksprogram inte är tillgängligt i den aktuella installationen. Detta tillhandahålls som ett sätt att stödja migreringen från en providerimplementering till en annan där återanvändningen av samma ID för de två providrarna inte var möjligt.

En lagerprovidertyp kan även ange en eller flera metafilsökvägar (avgränsade med kommatecken) som är relativa till en överordnad behållare. Om ett projekt eller en mapp som inte är delad innehåller filer som stämmer med alla metafilsökvägar som är associerade till en lagerdefinition, anropas metoden RepositoryProviderType#metaFilesDetected med den överordnade behållaren som ett argument. Det sker för att ge lagertypen en chans att markera filerna som privata för gruppen och potentiellt även dela projektet. Mer information finns i javadoc för ovan nämnda metod.

<!ELEMENT extension (repository)>

<!ATTLIST extension

point CDATA #REQUIRED>


<!ELEMENT repository EMPTY>

<!ATTLIST repository

id               CDATA #IMPLIED

class            CDATA #REQUIRED

typeClass        CDATA #IMPLIED

canImportId      CDATA #IMPLIED

metaFilePaths    CDATA #IMPLIED

fileSystemScheme CDATA #IMPLIED>


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProviderType"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

Värdet för class-attributet måste representera en underklass till org.eclipse.team.core.RepositoryProvider och värdet för typeClass-attributet måste representera en underklass till org.eclipse.team.core.RepositoryProviderType

Den tillhandahållna implementeringen av RepositoryProvider bidrar med hjälparmetoder och gemensam kod för avbildning och bortagning av avbildning av providers till projekt. Med den valfria RepositoryProviderType erhålls import och export av projektuppsättningar via ProjectSetCapability.