Fornitori di repository team

org.eclipse.team.core.repository

2.0

Il plugin Team contiene i concetti di base dei repository. Un repository deve fornire supporto per la condivisione delle risorse tra i membri Team. I repository sono configurati in base ai singoli progetti. È possibile associare un repository ad un solo progetto per volta.

I repository che estendono questo punto di estensione possono fornire implementazioni per le regole specifiche dei repository comuni per la modifica, spostamento e eliminazione delle risorse. Per ulteriori dettagli consultare le interfacce IFileModificationValidator e MoveDeleteHook.

Un tipo di repository può anche essere specificato per fornire una funzione non specifica di un progetto, quale org.eclipse.team.core.ProjectSetCapability.

Facoltativamente, un tipo di fornitore di repository può determinare se è possibile importare progetti da un secondo fornitore, nel caso in cui il plugin del secondo fornitore non sia disponibile nell'installazione corrente. Questo viene fornito per il supporto della migrazione dall'implementazione di un fornitore ad un'altra, quando non è possibile riutilizzare lo stesso id per i due fornitori.

Un tipo di fornitore di repository può anche specificare uno o più percorsi di metafile (delimitati da virgole) relativi ad un contenitore principale. Se un progetto o una cartella non condivise contengono file che corrispondono a tutti i percorsi di metafile associati ad una definizione di repository, verrà richiamato il metodo RepositoryProviderType#metaFilesDetected con il contenitore principale come argomento. Questo per dare al tipo di repository la possibilità di contrassegnare i file come privati per il team e di condividere comunque il progetto. Per ulteriori dettagli. fare riferimento a javadoc per il metodo sopra indicato.

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


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProvider"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

Il valore dell'attributo class deve rappresentare una sottoclasse di org.eclipse.team.core.RepositoryProvider e il valore dell'attributo typeClass deve rappresentare una sottoclasse di org.eclipse.team.core.RepositoryProviderType

L'implementazione di RepositoryProvider fornisce metodi di guida e codice comune per l'associazione e l'eliminazione di associazioni di fornitori a progetti. L'elemento RepositoryProviderType facoltativo fornisce l'importazione e l'esportazione dell'insieme di progetti mediante un ProjectSetCapability.