Projectensets

De resources van projecten waarop versiebeheer wordt toegepast, worden in een repository bewaard, en daarom is het mogelijk een verwijzing naar de repository-gegevens van het project beschikbaar te stellen voor gemeenschappelijk gebruik, zodat het project gedeeld kan worden en gereconstrueerd kan worden in het werkgebied. U gebruikt hiervoor een bepaald type bestandsexport voor teamprojectensets.

 

In 3.0 is API toegevoegd aan ProjectSetCapability, zodat repositoryproviders een klasse kunnen declareren waarmee het opslaan van bestuurde projecten kan worden geïmplementeerd. Zo worden alleen de projecten geëxporteerd waarvan in de repository projectensets zijn gedefinieerd. Deze API vervangt de verouderde serialiserings-API voor projectensets (zie hieronder).

De projectensetklasse voor repositoryproviders wordt opgehaald uit de klasse RepositoryProviderType, die in dezelfde extensie als de repositoryprovider is geregistreerd. Voorbeeld:

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

Vóór versie 3.0 konden repositoryproviders een klasse declareren voor het opslaan van bestuurde projecten door middel van het extensiepunt org.eclipse.team.core.projectSets. Zo worden alleen de projecten geëxporteerd waarvan in de repository projectensets zijn gedefinieerd.

Door de CVS-client wordt bijvoorbeeld het volgende gedeclareerd:

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

De opgegeven klasse moet IProjectSetSerializer implementeren. U kunt deze interface nog steeds gebruiken in versie 3.0, maar deze is wel gedeprecieerd.