| 1 |
GGBuildTools |
|---|
| 2 |
v 0.2.0 |
|---|
| 3 |
|
|---|
| 4 |
Copyright © 2007-2008 Gipat Group |
|---|
| 5 |
http://svn.gipat.org/trac/GGBuildTools |
|---|
| 6 |
http://www.gipatgroup.org |
|---|
| 7 |
|
|---|
| 8 |
Программа распространяется на условиях |
|---|
| 9 |
Gipat Group's opened EI-editor-utility license. |
|---|
| 10 |
___________________________________________________ |
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
GGBuildTools - набор утилит для сборки других проектов Gipat Group. |
|---|
| 14 |
|
|---|
| 15 |
В частности они предназначены для определения номера ревизии svn |
|---|
| 16 |
(и использования её в номере версии проекта, в именах файлов итд), |
|---|
| 17 |
для автоматической генерации *.iss - скриптов, для сборки рабочих |
|---|
| 18 |
копий модов к EI-Starter-у из файлов содержащихся в svn, для синхронизации |
|---|
| 19 |
мода с svn итд итп... |
|---|
| 20 |
___________________________________________________ |
|---|
| 21 |
|
|---|
| 22 |
Набор состоит, как это ни странно, из нескольких утилит. Это: |
|---|
| 23 |
|
|---|
| 24 |
1. IssBuilder - генерирует iss-файл и на запускает его сборку в Inno Setup |
|---|
| 25 |
Compiler. Для правильной его работы - требуется наличие правильно установленного |
|---|
| 26 |
Inno Setup 5. Умеет генерировать отдельные и кумулятивные апдейты с ранее |
|---|
| 27 |
собранных версий проекта. |
|---|
| 28 |
2. SourcePackBuilder - предназначен для архивирования набора исходников проекта |
|---|
| 29 |
- фактически просто создает директорию с правильным именем (из имени проекта |
|---|
| 30 |
и номера его версии) и сжимает это дело архиватором. Пока что умеет сжимать |
|---|
| 31 |
только в *.7z |
|---|
| 32 |
3. VerRevUpdater - предназначен для обновления номера версии проекта - может |
|---|
| 33 |
определить номер текущей ревизии svn и внести этот номер в 4-ю цифру версии. |
|---|
| 34 |
Умеет обрабатывать статусную часть версии - это могут быть alpha, beta, |
|---|
| 35 |
release candidate №N, release. Умеет генерировать *.pas или *.h файлы для |
|---|
| 36 |
компилляторов паскаля и C++ соответственно - в которых содержится та же |
|---|
| 37 |
информация о номере версии для включения её в скомпиленный бинарник программы. |
|---|
| 38 |
|
|---|
| 39 |
Также имеются служебные утилиты Installer и UnInstaller - предназначены для |
|---|
| 40 |
регистрации утилит в реестре и переменных окружения (прописывается |
|---|
| 41 |
в PATH) - если вы устанавливаете утилиты из стандартного инсталлятора - то |
|---|
| 42 |
пользоваться ими вручную не нужно - они запускаются автоматически при |
|---|
| 43 |
установке или удалении набора. Утилиты можно использовать в случае, если |
|---|
| 44 |
требуется зарегистрировать набор там где невозможно установить его |
|---|
| 45 |
из стандартного инсталлятора - например на linux под wine без графического |
|---|
| 46 |
режима - только с консоли - при запуске Installer и UnInstaller без параметров |
|---|
| 47 |
командной строки - они запускаются в интерактивном режиме и задают |
|---|
| 48 |
пользователю вопросы в консоли. |
|---|
| 49 |
|
|---|
| 50 |
_______________________________________________________ |
|---|
| 51 |
|
|---|
| 52 |
Файлы, в которых содержится конфигурация проекта и которые читаются |
|---|
| 53 |
утилитами - примеры этих файлов лежат в каталоге Examples дистрибутива. |
|---|
| 54 |
1. *.sconf - самый важный файл - тут все настройки. Представляет из себя обычный |
|---|
| 55 |
инишник. Описание формата можно почитать в файле \Docs\SconfFormat_v1.txt |
|---|
| 56 |
2. [имя проекта]_dev.vit и [имя проекта].vit - в них хранится номер версии программы |
|---|
| 57 |
- тот который берется за исходную информацию. Отличие [имя проекта]_dev.vit от |
|---|
| 58 |
[имя проекта].vit в том, что [имя проекта]_dev.vit не изменяется VerRevUpdater-ом, а |
|---|
| 59 |
вместо этого берется за основу - там просматривается статус и 4 цифры номера версии |
|---|
| 60 |
проекта, после чего если нужно - получается информация о ревизии svn - и собранный |
|---|
| 61 |
номер версии заносится в целевые файлы - один из этих файлов - [имя проекта].vit - |
|---|
| 62 |
тоесть [имя проекта]_dev.vit - по факту - неизменный файл, часть исходника |
|---|
| 63 |
- он входит в файлы в svn, в то время как [имя проекта].vit - результат локальной работы |
|---|
| 64 |
VerRevUpdater. [имя проекта]_dev.vit необходим для правильной работы VerRevUpdater. |
|---|
| 65 |
Описание формата можно почитать в \Docs\VerInfoTxtFormat_v1.txt |
|---|
| 66 |
3. *.iss - обычно это default.iss - заготовка iss-скрипта для сборки инсталляций - на её |
|---|
| 67 |
основе IssBuilder генерирует реальный iss-скрипт для собираемой версии. |
|---|
| 68 |
|
|---|
| 69 |
Также в процессе работы например IssBuilder генерируются файлы *.flist но править |
|---|
| 70 |
их самостоятельно обычно нет нужды - там все автоматическое. Формат описан |
|---|
| 71 |
в \Docs\FileListFormat_v1.txt |
|---|
| 72 |
|
|---|
| 73 |
______________________________________________________ |
|---|
| 74 |
|
|---|
| 75 |
Описание параметров командной строки для утилит - появляется если запустить |
|---|
| 76 |
утилиту с параметром -? - там по английски, русского описания пока-что нет, |
|---|
| 77 |
если есть желание его сделать - доработайте этот файл и пришлите патч. |
|---|
| 78 |
|
|---|
| 79 |
Параметр -p - заставит утилиту ждать нажматия Enter после завершения основной |
|---|
| 80 |
работы. |
|---|
| 81 |
|
|---|
| 82 |
______________________________________________________ |
|---|
| 83 |
|
|---|
| 84 |
Сообщения о багах, предложения по улучшению, патчи - принимаются на трекере |
|---|
| 85 |
проекта - http://svn.gipat.org/trac/GGBuildTools - нажно зайти на трекер, авторизоваться |
|---|
| 86 |
(при необходимости зарегистрировать аккаунт - обращаю внимание что база аккаунтов |
|---|
| 87 |
на всех трекерах у нас общая и зарегистрироваться достаточно 1 раз на 1 из трекеров), |
|---|
| 88 |
создать новый ticket, не забыв указать тип тикета (баг\предложение\патч) и номер |
|---|
| 89 |
версии, которой вы пользовались. Желательно также сообщить о создании тикета |
|---|
| 90 |
на форуме http://www.gipatgroup.org/ в теме, посвященной данному проекту. |
|---|