denx-b/bitrix-version-builder

Генерация архивов обновлений модулей 1С-Битрикс

2.3 2024-09-28 12:42 UTC

This package is auto-updated.

Last update: 2024-11-10 10:45:40 UTC


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

bitrix:create-module

Как работает сборка обновлений?

Архивы версий складываются в директорию .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), если тегов менее двух.

bitrix:version-build

Подробнее о попадании файлов в архив и именовании архива.

epilog_after.php

Развивайте ваш модуль, комитьте, фокусируйтесь на задаче, а рутинную работу возложите на сборщик! Как будете готовы к публикации новой версии, сново просто выполните команду ./vendor/bin/console bitrix:version-build