wieni/composer-plugin-patchsets

安装数: 2,572

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 4

分支: 1

开放问题: 1

类型:composer-plugin

1.0.0 2023-11-10 12:46 UTC

This package is auto-updated.

Last update: 2024-09-15 12:10:50 UTC


README

简介

wieni/composer-plugin-patchsets 是一个 PHP Composer 插件,旨在解决 Drupal 项目中管理和应用补丁的复杂性。
此插件旨在集中管理补丁,使多个项目能够以一致的方式应用补丁。

问题陈述

在项目中使用 cweagans/composer-patches 进行补丁管理时,引入了一些挑战

  • 在不同项目间补丁应用的不一致性导致行为不一致。
  • 由于不同项目之间补丁创建的差异性,在升级版本时难以识别和应用相同的补丁。

目标

wieni/composer-plugin-patchsets 的主要目标是实现依赖项补丁解析。这是在 cweagans/composer-patches 中已被弃用的一个特性。

功能

该插件利用了 cweagans/composer-patches 发布的新插件功能,通过注册 自定义解析器 来添加补丁。

用法

  • 创建一个存储库(例如 your-org/drupal-patches),其中包含一个定义补丁的 composer.json 文件,如 cweagans/composer-patches 所述。
  • 在您的 Drupal 项目中,需要 wieni/composer-plugin-patchsets 插件和您的新的补丁存储库(your-org/drupal-patches)。
  • 在您的 composer.json 中将补丁存储库(your-org/drupal-patches)定义为补丁集
{
  "extra": {
    "patchRepositories": [
      "your-org/drupal-patches"
    ]
  }
}

此配置指示 wieni/composer-plugin-patchsets 应用 your-org/drupal-patches 存储库中定义的补丁。

高级配置

该插件支持高级配置,允许排除特定的包和补丁。
以下示例演示了排除 drupal/core 的 "#2907810" 补丁和 drupal/field_group 的所有补丁。

{
  "extra": {
    "patchRepositories": [
      {
        "name": "your-org/drupal-patches",
        "excludedPatches": {
          "drupal/core": [
            "#2907810"
          ],
          "drupal/field_group": ["*"]
        }
      }
    ]
  }
}

贡献

欢迎贡献、建议和问题报告。您可以随意fork此存储库并提交pull请求。

许可证

本项目采用 MIT 许可证。

致谢

  • 感谢 cweagans/composer-patches 在 Composer 中补丁管理方面的开创性工作。