Как вы управляете сгенерированными файлами исходного кода в своих репозиториях и процедурах развертывания с помощью Git (PHP, Python и т. Д.)?
Например, у меня есть репозиторий с именем «interfaces» с определениями Thrift.Они могут быть преобразованы в Python, PHP, JS и т. Д. Скелеты / заглушки.Другие проекты на разных языках, каждый в своем репозитории, хотят использовать эти заглушки.Как доставить заглушки в проекты?
Я вижу только два способа:
Сгенерировать заглушки и сохранить их в репозитории «interfaces» и в этом репозитории.должны быть прикреплены к проектам (как субмодуль только для чтения или любым другим способом).Но этот способ создает много головной боли при проверке обновлений интерфейсов и заглушек из-за слишком сложных концепций «git submodules».
Присоединение чистого репозитория «интерфейсов» к каждому проекту,и генерировать заглушки как временные git-ignorable (!) файлы (с помощью «make stubs» или аналогичные).Таким образом, каждый проект может иметь свои собственные настройки генерации с примененными патчами (при необходимости).Но вам нужно ввести некоторые команды компиляции в среду разработки и разработки PHP / Python (а не просто "git pull").
Каковы плюсы и минусы этих подходов?