Version 6 (modified by 16 years ago) (diff) | ,
---|
IssBuilder
Механизм предназначен для реализации в версии 0.2. В процессе проектирования.
Более старые версии механизма:
- 0.1.
- Запускается с параметрами.
- В параметрах указывается имя проекта, имя iss-заготовки.
- Прога открывает конфиг проекта (файл *.sconf), смотрит там важные для себя параметры вроде типа проекта, затем ковыряется в других понадобившихся файлов и добывает нужную инфу вроде нумера версии.
- Генерит имя выходного *.iss файла.
- Открывает указанную в параметрах iss-заготовку из .\ . Берет оттуда всю необходимую инфу, затем сканит и добавляет файлы для инсталлера в инфу объекта класса (работающего с iss) - попросту добавляет файлы в инсталлер, при необходимости - с учетом деления на языковые компоненты.
- Генерит выходной iss скрипт с правильным именем (по номеру версии и имени проекта). Iss-ы генерятся для всех запрошенных через *.sconf вариантов пакетов, в т.ч языковых.
- При необходимости информация о локалях берется либо из "вшитых в программу", статичных конфигов, либо из *.sconf-файла - соотв. в зависимости от настроек в этом самом *.sconf.
- Для добавленных файлов создает *.flist файл (имя соответствует полной версии дистрибутива), в список добавляет ПОЛНЫЙ список ВСЕХ файлов которые есть в данной версией с их чексуммой, при необходимости - с делением на группы по языковым компонентам.
- Если требовалось в *.sconf - то также добавляет в кеш папку с именем версии и скидывает туда все файлы данной конкретной версии.
- После всего этого - запускает компилляцию *.iss-а или *.iss-ов если их много. Все %).