joachim-n/drupal-project-contrib-development

该包的最新版本(dev-main)没有提供许可信息。

dev-main 2024-05-01 13:42 UTC

This package is not auto-updated.

Last update: 2024-09-25 17:21:20 UTC


README

这是一组工具,用于在项目环境中开发Drupal贡献模块和主题。

特性

切换到克隆命令

这是一个Composer命令,可以将Drupal模块从正常安装切换到使用指向项目中的git克隆的符号链接。

这允许在项目环境中测试和开发贡献模块。

例如,假设您的Widgets.Com网站正在使用drupal_cats模块,但您发现其中存在一个bug。您可以修改drupal_cats模块的文件,但它们不受版本控制,因此您无法从drupal.org创建一个MR。您可以将它们复制到drupal_cats的单独git克隆中,但这很快就会变得繁琐,尤其是当有多个文件时。此外,您项目中的drupal_cats安装副本是固定版本(希望如此!),而您想要修复的代码可能在最新的HEAD中已更改。

切换到克隆命令使这一切变得简单

  1. 您的项目已使用Composer安装了drupal/drupal_cats包。
  2. 执行 composer drupal-contrib:switch-clone drupal_cats。这会执行以下操作
    1. 将drupal_cats git仓库克隆到项目中的./repos文件夹。
    2. 在composer.json中添加了一个Composer路径仓库,它指向此git克隆。这不应该添加到版本控制中;它仅在您在贡献模块的git克隆中工作期间临时需要。
    3. Composer已更新为使用此仓库中的drupal/drupal_cats。这创建了一个从./repos/drupal_cats文件夹到项目./modules/contrib文件夹的符号链接,替换了之前安装的drupal_cats模块版本。
  3. 现在您可以像平常一样使用drupal_cats的git克隆了
    • 为您的修复创建一个功能分支
    • 从drupal.org检查出一个分支以评估修复
    • 在项目环境中测试您的代码。
    • 将您的更改推送到drupal.org的合并请求。

当您的修复准备就绪时,从您的composer.json中删除'drupal_cats'路径仓库,并执行composer update drupal/drupal_cats以将您的项目切换回使用drupal/drupal_cats包的发行版本。

如果您在此期间需要执行任何Composer操作,您可能需要暂时将git仓库切换到最初检出时的主开发分支或发布标签,以满足Composer的包版本要求。

切换回包发布命令

这是一个Composer命令,可以将Drupal模块从作为符号链接安装切换到从包发布中正常安装。

使用此命令可以撤销composer drupal-contrib:switch-clone命令的效果,并使项目对模块的使用恢复正常操作。

  1. 您的项目已从符号链接安装了drupal/drupal_cats包。
  2. 执行 composer drupal-contrib:switch-package drupal_cats。这会执行以下操作
    1. 指向git克隆的Composer路径仓库将从composer.json中删除。
    2. Composer已更新以下载drupal/drupal_cats包。

该模块的Git仓库未被更改或删除。您可以使用drupal-contrib:switch-clone命令恢复使用。

创建并应用补丁命令

这是一个Composer命令,它将模块Git克隆中的工作作为补丁应用到项目中。

当您完成对贡献模块中一个错误或功能的修改,并希望将此修复应用到您项目代码库时,请使用此命令。drupal.org合并请求的diff在此场景下并不总是适用,因为合并请求将在模块的开发分支上,而且这个diff可能不适用于您项目使用的版本。相反,此命令从功能分支到您项目已安装的版本获取diff。

此操作需要项目已安装cweagans/composer-patches包。

  1. 您的项目已通过Composer安装了drupal/drupal_cats包,并在repos/drupal_cats下有一个git clone,其中包含您的功能分支工作。
  2. 执行composer drupal-contrib:apply-patch-from-branch drupal_cats。这将执行以下操作:
    1. 从repos/drupal_cats中的功能分支到已安装包的当前版本获取git diff。
    2. 将git diff写入到/patches目录下的补丁文件中。
    3. Composer更新以应用到drupal/drupal_cats包的补丁。

您还应该将您的修复作为合并请求贡献回drupal.org!

安装

使用Composer进行安装

composer require joachim-n/drupal-project-contrib-development

路线图

  • 获取用于补丁名称和composer.json描述的问题标题。
  • 添加其他有用的东西。