Исторический контекст:Eclipse CDT обновление/синхронизации список проектов автоматически (для легкой "обновления", связанного набора проекта)
У нас есть проект, состоящий из следующих частей:
- хост-приложения (C++) библиотека
- Scripting Engine (также написан на C++)
- много C++ плагинов (около 30+)
- много сценариев, связать все го uff вместе ...
От версии к версии добавлены некоторые плагины и некоторые из них удалены. До сих пор мы использовали решение Visual Studio (* .sln) для размещения всех проектов (* .vcxproj) для хост-приложения, библиотеки сценариев Scripting и плагинов (один * .vcxproj для плагина!). Чтобы поделиться источниками/проектами, мы используем проприетарную систему управления версиями, и до сих пор, когда мы объединим обновления с сервера (некоторые проекты плагинов добавлены и некоторые проекты плагинов удалены), все дерево проектов в VS были обновлены благодаря «перезагрузке», (от разработчика не требуется никаких действий для просмотра и сборки обновленного исходного дерева).
Проблема:
Теперь наше руководство решило перейти к Eclipse CDT/MinGW паре, и мы столкнулись с этой проблемой, Eclipse, рабочая область является не то же самым, как Visual Studio * .sln ...
Теперь, когда появляется какая-либо папка проекта плагина или некоторые папки проекта плагина исчезают, соответствующие элементы рабочей области не обновляются соответствующим образом.
Таким образом, теперь каждый разработчик должен использовать
Файл> Импорт ...> Общие> «Существующие проекты в рабочее пространство»
Файл/«Открытые проекты из файловой системы» для добавления новых проектов в собственную рабочую область вручную после их добавления другим разработчиком в исходное управление. Также нужно вручную удалить из собственного рабочего пространства тех плагинов проектов, которые были удалены из системы управления ...
Это отличный контраст с тем, что мы ранее имели с Visual Studio, где «перезагрузка» функция автоматически обновляется проект/источник tree (просто из-за всей информации, полученной с * .sln/*. vcxproj с сервера).
Наш первый вариант состоял в том, чтобы поместить материал Workspace \ .metadata и т. Д. В исходный элемент управления (как мы ранее делали для * .sln-файлов), но «это не так, как Eclipse Workspace предназначено для использования» (это даже не представляется возможным только потому, что пути в .metadata \ * являются абсолютными и т Workspace \ * материал он не объединяемые вообще)
Вопрос:
есть ли какой-нибудь способ, чтобы автоматически синхронизировать Eclipse CDT Workspace с проектом набор, полученный из источника управления. Как только нажмите некоторую (скрытую?) Волшебную кнопку «Обновить» (в специальном плагине для установки или что-то в этом роде), и все новые проекты будут автоматически вставлены . добавлено в исходное дерево в рабочей области, а удаленные проекты также исчезнут , не нужно ли использовать все эти «мастера импорта» и не нужно удалять удаленные проекты вручную?
Может быть, есть специальный проект типа «Контейнер» в Eclipse, чтобы играть ту же роль, что и * .sln в Visual Studio или что-то в этом роде?
Может быть другими вариантами? ... Общего намерения не в замене * .sln некоторого Затмения эквивалента, но поддерживать подобный рабочий процесс, когда куча плагин проектов управляются в целом и установить проект «обновить» быть простой операцией, которая не требует от каждого человека в команде ручного отслеживания проектов, которые появились/исчезли в этом наборе.
Вы абсолютно правы, руководство решило использовать Eclipse только потому, что Eclipse является бесплатным и из-за «почему ваша команда имеет привилегию по сравнению с нашими другими командами, использующими бесплатные инструменты», политическую вещь ... Мы отложили переход на Eclipse, «снижение производительности разработчиков», но теперь мы снова сталкиваемся с этой проблемой миграции. Мне нравится подход CMake, но это все еще не полностью решает проблему, как видно всей команде ... –