Есть довольно большой проект на C++/Qt/qbs под Win32 собирающийся с помощью TeamCity.
Используется qbs и его средствами результаты сборки после qbs install попадают в структурированную папку
почти готовую для подсовывания в Inno Setup.
Но кроме результатов сборки (бинарники, переводы) есть ещё куча файлов для интерфейса (qml, js), ini файлов настроек проекта под конкретную конфигурацию. Общее кол-во таких файлов может достигать 300-500.
Сейчас написан велосипед на С - утилита строящая структуру дистрибутива на основе xml описания конкретной конфигурации ПО (самих конфигурация порядка 12).
Утилита решает следующие задачи:
- Копирование файлов и/или папок в определенное место (поддерживаются маски с исключениями)
- Операция с настройками в ini файлах в папке назначения
- Возможность строить цепочку файлов xml описания конфигурации для исключения дублирования общих кусков
- Вызов ещё каких то утилит для выполнения промежуточных операций (например подписания бинарников сертификатом)
Подскажите пожалуйста, есть ли какое-то средство, подходящее под эти задачи?
Понятно, что можно написать кучу кода на powershell/js/c++, но это уже как от безысходности. Тогда имхо лучше пользоваться своим велосипедом, тем более что он уже есть.
Текущий велосипед в целом устраивает, возможно за исключением невозможности распараллелить сборку отдельных конфигураций.
Сейчас очень много различных новых средств сборки появляется, и хочется узнать, как подобные задачи решают опытные товарищи.