Eftersom resurserna i ett projekt under versionskontroll behålls i lagret är det möjligt att dela projekt med gruppmedlemmar genom att dela en referens till den lagerspecifika information som behövs för att rekonstruera ett projekt i arbetsmiljön. Detta görs med en speciell typ av filexport för grupprojektuppsättningar.
I 3.0 lades ett API till i ProjectSetCapability som låter lagerproviders deklarera en klass som implementerar projektsparande av projekt som de hanterar. När användaren väljer att exportera projektuppsättningar visas bara projekt, konfigurerade med lager som definierar projektuppsättningar, som kandidater för exporten. Med det här API:t ersätts API:t för serialisering av gamla projekt ( se nedan).
Funktionsklassen för projektuppsättningen för en lagerprovider erhålls från klassen RepositoryProviderType som registreras i samma utökning som lagerprovidern. Exempel:
<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>
Före 3.0 tillät utökningspunkten org.eclipse.team.core.projectSets att lagerproviders deklarerade en klass som implementerar projektsparande för projekt som de hanterar. När användaren väljer att exportera projektuppsättningar visas bara projekt, konfigurerade med lager som definierar projektuppsättningar, som kandidater för exporten.
Exempelvis deklarerar CVS-klienten följande:
<extension point="org.eclipse.team.core.projectSets"> <projectSets id="org.eclipse.team.cvs.core.cvsnature" class="org.eclipse.team.internal.ccvs.ui.CVSProjectSetSerializer"/> </extension>
Angiven klass måste implementera IProjectSetSerializer. Användning av gränssnittet hanteras fortfarande i 3.0 men har utkommenterats.