wiki:VerRevUpdaterMechanism

Version 9 (modified by Sagrer, 17 years ago) (diff)

--

VerRevUpdater

Проверяет есть ли в текущем каталоге файл .\*имя проекта*.sconf. Имя проекта передается параметром в прогу. В sconf-файле смотрит опции проекта. После чего - смотрит какая сейчас есть ревизия svn, затем в зависимости от типа исходника - собирает дополнительную необходимую инфу (например если тип Delphi - то посмотрит номер версии в параметрах проекта), после чего формирует номер версии с учетом ревизии и записывает новую версию в файлы соответствующие типу проекта.

Механизм работы для различных типов проекта.

  • VerInfoTxtOnly - после прочтения sconf - читает [имя проекта]_dev.vit откуда берет первые 3 цифры версии, если надо - берет номер ревизии svn и пишет [имя проекта].vit. ВНИМАНИЕ - эти действия выполняются также и для всех остальных типов проекта наравне со спецефичными для каждого типа действиями.
  • PascalCode - после действий VerInfoTxtOnly - генерит еще и файлик [имя проекта]_ver.pas в который записывает константами [имя проекта]_Ver1, [имя проекта]_Ver2, [имя проекта]_Ver3, [имя проекта]_Ver4, [имя проекта]_Status, [имя проекта]_RCNum содержимое соответствующих (по именам) элементов объекта класса TVerInfoTxtFormat в том же формате в каком они там есть (т.е. Integer-ами). Собсно разработчик проги потом сможет просто перекинуть значения констант в новосозданный объект класса и делать со всем этим чего он захочет.
  • СppCode? - поступает аналогично PascalCode, но вместо [имя проекта]_ver.pas создает [имя проекта]_ver.h - в который пишет все то же самое но в синтаксисе Си++.