drush/example-drush-extension

示例 Drush 全站扩展

安装: 56

依赖: 0

建议者: 0

安全: 0

星标: 8

关注者: 6

分支: 2

开放问题: 2

类型:drupal-drush

1.1.0 2019-09-26 04:29 UTC

README

Build Status

这是一个兼容 Drush 9.6+ 和 Drush 8.2+ 的示例 Drush 扩展。它包含在两种 Drush 版本上运行的测试。

本项目展示了所谓的“全站”Drush 扩展。全站扩展通过 Composer 安装到特定的 Drupal 网站。其他类型的 Drush 扩展包括 Drush 模块命令和 Drush 全局命令。有关更多信息,请参阅创建自定义 Drush 命令文档

为了与 Drush 的未来版本达到最大兼容性,全站 Drush 扩展应只调用以下 API

  • 由 Drupal 提供的 API
  • 由 Drupal 依赖项提供的 API
  • 在 site-wide 扩展自己的 composer.json 文件中声明的库

避免使用 Drush API,除非是您命令的基类 DrushCommands 定义的,或者由 Drush 注入到您的命令类中的对象提供的。请参阅 ExampleCommands.php 以获取示例。

用法

在开发中,克隆此存储库,然后通过以下方式设置测试系统(sut):

composer install
composer drupal:scaffold

这将设置您的本地项目以运行和测试 Drush 9。要使用 Drush 8,请替换以下命令:

composer scenario drush8

使用Composer 测试场景项目来管理测试不同场景所需的 Composer 依赖项。运行 composer scenario 就像运行 composer install;它将为请求的测试场景安装适当的依赖项。运行 composer install 返回默认安装。

要在生产中使用此扩展(即在 Drupal 8 网站中安装它):

cd /path/to/my-drupal-composer-drupal-project
composer require drush/example-drush-extension

运行测试

如用法部分中所述设置“开发”。然后运行:

composer test

临时测试

在开发中

composer drush example:param test

在生产中

cd /path/to/my-drupal-composer-drupal-project
drush example:param test

自定义

  1. 分支此存储库。
  2. 在 composer.json 中更改“名称”、“描述”等以适应。
  3. 重命名 ExampleCommands.php 和 ExampleCommandsTest.php 以适应您的项目。
  4. 测试使用的配置和站点别名可以放在 'sut/drush/drush.yml' 和 'sut/drush/sites/self.site.yml' 中。
  5. 检查 'sut/drush/drush.yml' 和 'sut/drush/drushrc.php',并将示例命令文件的名称更改为与您的项目中的名称匹配。这是必要的,因为 Drush 在运行测试或进行临时测试时需要能够找到您的命令文件,因为通常命令文件是在项目根目录的父目录中搜索的。
  6. 在 packagist.org 上添加您的扩展,以便可以通过 Composer 安装。