Как обрабатывать разные версии зависимостей?

У меня есть проект make file, который использует несколько инструментов, таких как cppcheck или же asn1c, Есть несколько разработчиков, которые используют этот проект на своих локальных Linux-машинах. Проблема в том, что на каждой машине с Linux есть разные версии необходимых инструментов. Так, например, у одного разработчика есть cppcheck 1.8, а у другого - 1.6. Теперь я сталкиваюсь с неприятностями, потому что разные версии инструментов ведут себя по-разному. Например, некоторые разработчики успешно работают через cppcheck, а некоторые нет.

Поэтому я спрашиваю, как обрабатывать разные версии зависимостей?

У меня есть несколько идей:

  1. Добавление исходного кода инструментов в проект и компиляция инструментов перед запуском самого процесса сборки.
  2. Статическая компиляция инструментов и добавление двоичного файла в проект. Таким образом, каждый разработчик будет использовать один и тот же двоичный файл.
  3. Дайте виртуальную машину или удаленный доступ каждому разработчику. Таким образом, каждый использует одну и ту же среду
  4. Проинструктируйте всех разработчиков, какой дистрибутив Linux использовать, и обновляйте свою систему.

1 ответ

Настройте выделенные серверы для обработки сборок после того, как они будут зафиксированы в вашей системе управления версиями.

Таким образом, вы можете быть уверены, что все они используют одни и те же версии, вы можете настроить несколько сборочных серверов с разными наборами библиотек для проверки разных версий зависимостей или ОС.

Это довольно распространенная настройка для разработки программного обеспечения.

См. Этот пост SO для обоснования этого: /questions/40386301/kakoj-smyisl-v-servere-sborki/40386324#40386324

Другие вопросы по тегам