Projektsets

Da die Ressourcen innerhalb eines Projektes, die von der Versionssteuerung betroffen sind, im Repository abgelegt werden, können Projekte mit Teammitgliedern gemeinsam verwendet werden, indem ein gemeinsamer Verweis auf die repository-spezifischen Informationen, die zur Rekonstruktion eines Projektes im Arbeitsbereich benötigt werden, benutzt wird. Hierzu wird eine spezielle Dateiexportoperation für Team-Projektsets verwendet.  

 

In der Version 3.0 wurde API zu ProjectSetCapability hinzugefügt, über die Repository-Provider eine Klasse deklarieren können, die Projektspeicherung bei Projekten ermöglicht, die unter ihrer Steuerung verwaltet werden. Wenn der Benutzer Projektsets exportieren möchte, werden nur die mit Repositorys konfigurierten Projekte, die Projektsets definieren, als mögliche Exportkandidaten angezeigt. Diese API ersetzt die ehemalige API für die serielle Anordnung von Projektsets (siehe unten).

Die Klasse für Projektsetfähigkeit eines Repository-Providers wird aus der Klasse RepositoryProviderType abgerufen, die in derselben Erweiterung registriert ist, wie der Repository-Provider. Beispiel:

<extension point="org.eclipse.team.core.repository">
    <repository
          typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType"
          class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider"
          id="org.eclipse.team.cvs.core.cvsnature">
    </repository>
</extension>

Vor der Version 3.0 konnten Repository-Provider über den Erweiterungspunkt org.eclipse.team.core.projectSets eine Klasse deklarieren, die Projektspeicherung bei Projekten, die unter ihrer Steuerung verwaltet werden, ermöglichte. Wenn der Benutzer Projektsets exportieren möchte, werden nur die mit Repositorys konfigurierten Projekte, die Projektsets definieren, als mögliche Exportkandidaten angezeigt.

Der CVS-Client deklariert z. B. Folgendes:

<extension point="org.eclipse.team.core.projectSets">
	<projectSets id="org.eclipse.team.cvs.core.cvsnature" class="org.eclipse.team.internal.ccvs.ui.CVSProjectSetSerializer"/>
</extension>

Die angegebene Klasse muss IProjectSetSerializer implementieren. Die Verwendung dieser Schnittstelle wird in der Version 3.0 zwar noch unterstützt, ist aber inzwischen veraltet.