Как организовать репозитории с повторно используемыми компонентами

У меня есть следующие репозитории git:

  • Многоразовый
  • МногоразовыйB
  • МногоразовыйC
  • Приложение1

ReusableB и C зависят от ReusableA. Поэтому оба репозитория включают ReusableA в качестве подмодуля git. Application1 зависит от ReusableB и ReusableC, поэтому включает оба в качестве подмодулей git. Однако это должно привести к тому, что репозиторий Application1 будет содержать два экземпляра (возможно, разных версий) ReusableA. Итак, мой вопрос в основном заключается в том, следует ли мне этого избегать, или я могу просто создать сценарий сборки в Application1, который просто игнорирует один из экземпляров ReusableA (и, желательно, я бы тоже не хотел его инициализировать)?

Вы можете дать мне какой-то совет? Если этого сценария действительно следует избегать, как я могу этого добиться? Лучшие практики?


person Anton    schedule 10.09.2010    source источник


Ответы (1)


В этом случае лучше всего также включить ReusableA в качестве прямого подмодуля Application1.
Application1 будет строить с использованием только его собственной указанной версии ReleaseA, эффективно "перекрывая" версии, используемые ReusableB и ReusableC.

  • Это довольно часто встречается на этапе разработки, когда нельзя ожидать, что все модули будут уважать одни и те же зависимости.
  • Однако на этапе интеграции или сборки вам необходимо обнаруживать и сообщать о таких ситуациях (где ReusableA используется с другой версией между Application1, ReusableB и ReusableC)
  • Наша цель - создать финальную версию, которая будет запущена в производство с одной-единственной версией ReusableA.
person VonC    schedule 10.09.2010