GGBuildTools v 0.1.2 Copyright © 2007 Gipat Group http://svn.gipat.org/trac/GGBuildTools http://www.gipatgroup.org Программа распространяется на условиях Gipat Group's opened EI-editor-utility license. ___________________________________________________ GGBuildTools - набор утилит для сборки других проектов Gipat Group. В частности они предназначены для определения номера ревизии svn (и использования её в номере версии проекта, в именах файлов итд), для автоматической генерации *.iss - скриптов, для сборки рабочих копий модов к EI-Starter-у из файлов содержащихся в svn, для синхронизации мода с svn итд итп... ___________________________________________________ Инструкция по сборке из исходников. Для сборки вам потребуется наличие: 1. Установленного Lazarus v. 0.9.24. Более новые версии Lazarus предположительно тоже подойдут. Тестировалось под WindowsXP Pro SP2. Под другими win32 системами сборка весьма вероятна. Возможность сборки под linux и другими системами, с которыми совместим Lazarus - лишь теоретическая. 2. Установленные GGBuildTools версии не ниже 0.1.2.141. Готовую бинарную сборку можно найти на wiki проекта. Инструкция по сборке: 1. Если еще не - то внести корневой каталог с установленным lazarus в переменную окружения PATH. В WindowsXP это можно сделать зайдя в свойства "Мой компьютер" (свойства системы), открыв вкладку "Дополнительно", нажав кнопку "Переменные среды". Добавить путь в PATH можно как для всей системы, так и для текущего пользователя - для GGBuildTools это непринципиально. 2. Убедитесь что GGBuildTools установлены. Проверьте, доступны ли утилиты из консоли (из любой рабочей директории). Например вызовите из консоли VerRevUpdater. 3. Запустить батник build_all.bat. Сделать это необходимо до первой попытки собрать какой-либо проект из IDE. При этом помимо собственно компилляции будет выполнена сборка неоффициальных пакетов в директорию Packages_unofficial - исходник и инсталляции, по настройкам в GGBuildTools.sconf (по структуре это обычный ini-файл). 4. Можно пользоваться. Собранное складывается в папку generated. Неоффициальные версии пакетов - в вышеназванную Packages_unofficial. При компилляции из IDE - бинарники собираются только в папку .\generated\build. Чтобы заново собрать дистрибутив (например бинарный) - надо опять запустить build_all.bat. Собрать официальные пакеты можно запустив батник build_unofficial_packages.bat - выбет выполнена такая-же компилляция и сборка пакетов в Packages - отличие от неоффициальной сборки в том что в директорию .\ggbt\iss_cache будет помещена информация по новособранной версии - *.iss и *.flist файлы. Эти файлы необходимо закоммитить - директория \ggbt\iss_cache является директорией из отдельного внешнего репозитория, (там свой номер ревизии, не влияет на номер ревизии основного исходника). __________________________________________________ Этакий Code Guidelines. 1. За венгерскую нотацию можно получить по ухам %). Пользуйтесь принятой в VCL нотации - классы обозначаются большой первой буквой T (TObject например), если идентификатор состоит из нескольких слов - слова разделяются заглавными буквами (TheExampleIdentificator). 2. Вложенные блоки выделяются отступами - по 2 пробела. 3. Используется ООП - не надо особо налегать на структурный программинг. 4. Не надо стараться напихать как можно больше классов в один файл, больше 1 класса в файле - только если это необходимо или если дополнительные классы - мелкие, вспомогательные. 5. Комментарии - каждую функцию или метод - прокомментировать в той же строчке где её объявление. В реализации функции\метода - продублировать комментарий, во второй строчке - под строчкой описывающей имя функции и параметры. Реализацию функций\методов - следует располагать в том же порядке, в котором они объявлялись в интерфейсе - если это классы или "подразделы" классов, то в реализации надо эти разделы разделить комментами, указав что за раздел. 6. Обработка екзепшнов. Если это необходимо - т.е. вызывается функция, которая в принципе небезопасна и может вернуть экзепшн - то надо пользоваться try- -except-finally. Но не надо передавать екзепшоны до самого верха - желательно чтобы функция могла "в штатном режиме" справиться с ошибкой, если же это невозможно - вернуть ошибку - например через булевый результат функции или код ошибки. 7. Не забывайте в шапке измененного вами файла оставлять свой ник с мылом, для новых файлов - добавлять стандартную шапку с отсылкой на лицензию и прочим. ___________________________________________________ Сообщения о багах, предложения по улучшению, патчи - принимаются на трекере проекта - http://svn.gipat.org/trac/GGBuildTools - нажно зайти на трекер, авторизоваться (при необходимости зарегистрировать аккаунт - обращаю внимание что база аккаунтов на всех трекерах у нас общая и зарегистрироваться достаточно 1 раз на 1 из трекеров), создать новый ticket, не забыв указать тип тикета (баг\предложение\патч) и номер версии, которой вы пользовались. Желательно также сообщить о создании тикета на форуме http://www.gipatgroup.org/ в теме, посвященной данному проекту.