Настраиваем патчи в composer на примере drupal проекта

Drupal давно использует composer для управления зависимостями и для загрузки/обновления модулей. Composer кроме всех прочих полезностей позволяет наладить работу с заплатками. Вот этот аспект я и опишу далее в статье.

По умолчанию, Drupal, установленный через composer, не настроен для работы с патчами. Потому мы добавим специальный плагин для работы с заплатками.

Теперь нужно разрешить этот плагин. Это можно сделать вручную в composer.json, указав в секции config->allow-plugins имя плагина и значение true.

Мне больше нравится другой вариант — сделать это из командной строки:

Теперь, когда плагин установлен и включен, его требуется настроить. В секции экстра добавьте параметры:

Это, конечно, можно сделать и из командной строки:

Осталось только разобраться с файлом composer.patches.json, в котором как раз и описываются патчи, которые необходимо применять после обновлений кода.

composer.patches.json

Этот JSON-файл представляет собой структуру, указывающую пласты патчей (заплаток) для Composer, применяемых к конкретным пакетам.

Общая структура:

1. "patches"

Корневой ключ. Содержит список всех пакетов, к которым применяются патчи.

2. "vendor/package-name"

Название пакета, для которого предназначены патчи. Например:

  • drupal/core
  • drupal/bootstrap

3. "<описание патча>"

Ключ — это метка или краткое описание патча. Это может быть:

  • описание действия патча ("Add Wistia Support")
  • номер issue на drupal.org ("#3025039 New non translatable field...")
  • произвольный идентификатор ("2321071")

Это человеко-читаемая часть, используемая для идентификации патча в логах и ошибках.

4. "<путь или URL>"

Значение — это:

  • абсолютный URL до патча (чаще всего с drupal.org)
  • относительный путь к локальному .patch-файлу в проекте

Пример:

Патчи применяются во время установки или обновления зависимостей (composer install / composer update).

Немного о создании самих патчей.

Написать комментарий

Мало букафф? Читайте есчо !

Drupal deployment

Май 18, 2023 г.

Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии). Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности: ...

Читать

Установка Wordpress через composer

Апрель 3, 2023 г.

WP так то и сам хорошо управляется с модулями и темами. Вы можете установить модули/темы через админку. Единственный не удобный момент - это первоначальное ...

Читать

 

Комментарии к «Настраиваем патчи в composer на примере drupal проекта»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: