denx-b / bitrix-version-builder
Генерация архивов обновлений модулей 1С-Битрикс
Requires
- php: ^7.0||^8.0
- ext-iconv: *
- ext-zip: *
- gitonomy/gitlib: ^1.3
- symfony/console: ^5.4
Requires (Dev)
- symfony/var-dumper: ^5.4
README
Библиотека берёт на себя рутинную работу по генерации базовой структуры и сборке обновлений модулей 1С-Битрикс:
- автоматическое создание структуры модуля;
- автоматическое создание архива новой версии модуля;
- определение изменённых файлов по истории коммитов в git;
- автоматическое декодирование кириллических языковых файлов из UTF-8 в windows-1251;
- автоматическое описание обновления (description. ru) из комментария последнего коммита.
Использование
Установка библиотеки из composer:
composer require denx-b/bitrix-version-builder
Обязательно в корне модуля должен быть git:
git init
Сборка новой версии:
./vendor/bin/console bitrix:version-build
Создания базовой структуры модуля:
./vendor/bin/console bitrix:create-module
В итоге структура модуля может выглядеть следующим образом:
/* aspro.max/ ├─ .versions/ | ├─ .last_version.zip | ├─ 1.1.3.zip | └─ 1.1.4.zip ├─ install/ ├─ lang/ ├─ vendor/ ├─ composer.json ├─ composer.lock ├─ include.php ├─ options.php └─ options_conf.php */
Команда генерации bitrix:create-module
после запуска задаст вам несколько вопросов, для генерации класса установки, кода модуля, название, описание модуля и так далее.
Вы можете использовать данную библиотеку в уже существующих модулях со своей структурой и файлами, то есть шаг по генерации структуры можно пропусить и пользоваться только сборкой версий bitrix:version-build
Как работает сборка обновлений?
Архивы версий складываются в директорию .versions:
/* aspro.max/ ├─ .versions/ | ├─ .last_version.zip | ├─ 1.1.3.zip | └─ 1.1.4.zip */
Название версии берётся из файла модуля /install/version.php
<?php
$arModuleVersion = array(
"VERSION" => "1.1.4", // <-- 1.1.4.zip
"VERSION_DATE" => "2019-12-04 18:52:00"
);
В архив обновлений попадают файлы между последним и предыдущим тегами или вообще все файлы (.last_version.zip), если тегов менее двух.
Подробнее о попадании файлов в архив и именовании архива.
epilog_after.php
Развивайте ваш модуль, комитьте, фокусируйтесь на задаче, а рутинную работу возложите на сборщик! Как будете готовы к публикации новой версии, сново просто выполните команду ./vendor/bin/console bitrix:version-build