= Формат файлов *.sconf = Версия №2. '''В процессе проектирования'''. Более старые версии: * [wiki:SconfFormat_v1 1]. ---- Назначение формата - хранение всех настроек для GGBuildTools для данного конкретного проекта. Формат представляет из себя обычный ini-файл. Внутри есть секции: * [Main] * [!IssBuilder] * [!SourcePackBuilder] * [!StarterMod] - необязательно. * [Localisations] * [Locales] ---- == [Main] == Внутри есть параметры: * !FormatName (string) - имя формата конфега %). * !FormatVersion (integer) - версия формата конфега % )))). * !ProjectType (string) - тип проекта. Возможные типы (на данный момент): '''!VerInfoTxtOnly''', '''!PascalCode''', '''!CppCode'''. * !ProjectVer (string) - либо разделенный точками номер версии (до 3 цифр вроде "0.1.2"), либо слово "Project" означающее что первые 3 цифры берутся из других файлов (в записимости от типа проекта). * !UseSvn (bool) - 0-> svn не используется, 1-> svn используется. * !ProjectRootDir (string) - относительный (относитально ..\[папка со *.sconf] ) путь (windows) к корневой папке проекта. По умолчанию = ".\" ---- == [!IssBuilder] == Внутри есть параметры: * !FilesDir (string) - путь от root к папке где лежат файлы для запаковки в инсталлер (обычно это скомпиленные бинарники + сопутствующее файло). * !DefaultIssName (string) - имя дефолтной iss-заготовки. * !OutputDir (string) - путь от root к папке куда ложить скомпиленный инсталлер. * !VersionsCacheDir (string) - путь от root к папке, куда ложить архив версий (файлы всех когда-либо собранных дистров). * !SaveToCache (bool) - сохранять ли в кеш файлы (т.е не только flist+iss а еще и сам дистрибутив) для собранной версии. * !CreateFull (bool) - создавать ли пакет, который может только ставиться с нуля. * !CreateFull_AllowUpdate (bool) - создавать ли пакет, который может как обновить версию, так и поставить все с нуля. * !CreateFull_UpdVers (string) - либо All, либо From:X где X - 4 цифры разделенные точками - номер версии начиная с которой (включительно) генерить апдейты, либо цифра - сколько сгенеренных версий (из кеша flist и iss) начиная от последней подвергать апдейту. * !CreateSeparateUpds (bool) - создавать ли пакеты обновления с отдельных версий. * !CreateSeparateUpds_UpdVers (string) - либо All, либо From:X где X - 4 цифры разделенные точками - номер версии начиная с которой (включительно) генерить апдейты, либо цифра - сколько сгенеренных версий (из кеша flist и iss) начиная от последней подвергать апдейту. * !CreateCumulateUpdate (bool) - создавать ли кумулятивный пакет обновления. * !CreateCumulateUpdate_UpdVers (string) - либо All, либо From:X где X - 4 цифры разделенные точками - номер версии начиная с которой (включительно) генерить апдейты, либо цифра - сколько сгенеренных версий (из кеша flist и iss) начиная от последней подвергать апдейту. * !LangPackages (string) - если Localisations->!UseLocalisations == true - то здесь могут быть списки пакетов с заложенными в них языковыми модулями вида: "all; ru; en; ru, en" - в данном примере будет создано по 4 пакета для каждого создаваемого варианта пакетов (т.е. для полных версий, апдейтов итд - все аналогично) - 1) все языки; 2) только русский; 3) только английский; 4) только английский и русский. Имена пакетов будут сформированы исходя из включенных языков. Если опция в файле отсутствует - то её значение воспринимается по умолчанию как "all". . ---- == [!SourcePackBuilder] == Внутри есть параметры: * !FilesDir (string) - путь от root к папке где лежат файлы для запаковки в архив. * !OutputDir (string) - путь от root к папке куда ложить архив. * !ArchiveFormart (string) - тип архива в который все пакуется. Варианты: 7z. ---- == [!StarterMod] == Секция необязательная. Имеет смысл только если тип проекта - !StarterMod. Внутри есть параметры: * В этой версии секция не используется. Зарезервировано на будущее. ---- == [Localisations] == В секции располагаются настройки локализации проекта. Внутри есть параметры: * !UseLocalisations (bool) - использовать ли вообще локализации. По умолчанию false. Если true - в папке с проектом (!IssBuilder->!FilesDir) расположена папка all и папки локалей - соотв. содержащие файлы для соответствующих языковых компонентов. * Exclusive (bool) - по умолчанию false. Если true то одновременно может быть установлен только один языковой модуль, иначе можно установить сколько угодно. Если будут конфликты с одинаковыми именами файлов - юзверь сам виноват, надо следить. * !UseCustomLocaleNames (bool) - по умолчанию false. Если true - то информация из секции [Locales] этого файла перекрывает прошитую в программе (точнее в версии GGBuildTools) информацию о локалях. Иначе - используется только информация о локалях, идущая в комплекте с GGBuildTools. ---- == [Locales] == В секции в виде пар имя локали\описание локали записываются локали ). Например: {{{ [Locales] ru=Russian en=English }}} Секция используется только если Localisations->!UseCustomLocaleNames == true.