Менеджер зависимостей исходного кода для C ++ - PullRequest
9 голосов
/ 04 января 2011

Здесь уже есть некоторые вопросы об менеджерах зависимостей, но мне кажется, что они в основном касаются систем сборки , в то время как я ищу что-то, направленное исключительно на упрощение отслеживания и разрешения зависимостей (и яя не обязательно заинтересован в изучении новой системы сборки).

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

Я смотрел на Maven и Ivy, но я не уверен, что они подойдут для C ++, так как они выглядят довольно сильно нацеленными на java(хотя могут быть плагины для C ++, я не нашел людей, рекомендующих их).

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

У вас есть предложения?Может быть, я просто что-то упустил, и обычно это делается каким-то другим способом без необходимости такого инструмента?Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Вы можете использовать Maven в отношениях с C ++ двумя способами.Сначала вы можете использовать его для управления зависимостями компонентов друг от друга.Во-вторых, вы можете использовать Maven-nar-plugin для создания общих библиотек и модульных тестов в связи с библиотекой boost (мой опыт).В конце вы можете создать RPM (maven-rpm-plugin) из него, чтобы иметь подходящую среду установки.Кроме того, я создал установку для среды CI через Maven (RPM для Hudson, Nexus в RPM).

1 голос
/ 04 января 2011

Я не уверен, что вы увидите систему контроля версий (VCS) в качестве инструмента для сборки, но Mercurial и Git поддерживают вложенные репозитории. В вашем случае под-репозиторий будет ваши зависимости:

Используйте VCS для архивирования результатов сборки, которые в любом случае необходимы для обслуживания, и обращайтесь к файлам libs и header в вашей среде сборки.

Если вы ищете справку, взгляните на https://android.googlesource.com/platform/manifest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...