Наборы проектов

Так как ресурсы проекта, поддерживающие управление версиями, сохраняются в хранилище, то возможно сделать проекты общими для членов группы путем настройки общей ссылки на информацию в хранилище, необходимую для перестройки проекта в рабочей области.  Это делается с помощью особого способа экспорта файлов для наборов проектов группы.  

 

В версии 3.0 в ProjectSetCapability добавлен API, служащий для того, чтобы типы хранилищ могли объявить класс, реализующий сохранение проектов, находящихся под их управлением.  Когда пользователь выбирает экспорт наборов проекта, доступными для экспорта будут только те проекты, которые настроены с хранилищами, определяющими наборы проектов. Такой API заменяет старый API сериализации набора проектов(см. ниже).

Класс для поддержки группы функций набора проектов для типа хранилища получен из класса RepositoryProviderType, зарегистрированного в том же расширении, что и тип хранилища. Пример:

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

В версиях ранее 3.0 использовалась точка расширения org.eclipse.team.core.projectSets, которая позволяла типам хранилищ объявлять класс, реализующий сохранение проектов, находящихся под их управлением.  Когда пользователь выбирает экспорт наборов проекта, доступными для экспорта будут только те проекты, которые настроены с хранилищами, определяющими наборы проектов.

Например, клиент CVS объявляет следующее:

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

Заданный класс должен реализовывать интерфейс IProjectSetSerializer. Использование этого интерфейса еще поддерживается в 3.0, но он уже устарел.