Как включить ThrowTheSwitch/Unity в проект C?
Я хотел бы использовать ThrowTheSwitch Unity для своих модульных тестов в нескольких проектах, поэтому у меня есть такая общая структура:
.
├── README.md
├── Makefile
├── src
│ ├── ...
│ └── main.c
└── test
├── vendor
│ ├── unity.c
│ └── unity.h
└── test_main.c
Чтобы включить единство, я мог бы использовать другой подход:
- Подмодули Git
- плюсы: только git, единственный источник правды
- минусы: получить весь репозиторий Unity, в то время как требуется всего 3 файла
- Подмодули Git с разреженной проверкой
- плюсы: получаю только то, что мне нужно
- минусы: нужен хак для включения разреженной проверки
- Поддерево Git
- плюсы: безопасно, если нет интернета
- минусы: сохранить локальные копии единства в истории
- Wget из релиза
- плюсы: очень просто, очень эффективно
- минусы: зависимость от
wget
а такжеtar
и Интернет (без локального кеша)
- Локальная копия единства
- плюсы: максимально простое решение, эффективное
- минусы: нет SSOT, все похожие проекты будут иметь свою локальную копию единства, не будет отслеживаться, какая версия единства синхронизируется.
Кажется, ни один из вышеперечисленных методов не идеален, и я не знаю, какой из них выбрать. Лучшим решением было бы иметь простой менеджер пакетов сpackage.json
файл, в котором перечислены мои зависимости и их версии.
Есть ли другое / лучшее решение?