drush / example-drush-extension
示例 Drush 全站扩展
1.1.0
2019-09-26 04:29 UTC
Requires
- php: >=5.6
- consolidation/site-alias: ^3.0.0@stable
- consolidation/site-process: ^2.0.0@stable
Requires (Dev)
- composer/installers: ^1.2
- drupal-composer/drupal-scaffold: ^2.5
- drupal/core: ^8.7
- drush/drush: ^8.2.2 || ^9.6.1
- g1a/composer-test-scenarios: ^3.0.2
- phpunit/phpunit: ^6.5
- symfony/filesystem: ^3.4.28
- webflo/drupal-finder: ^1.1.0
- webmozart/path-util: ^2.3
- zaporylie/composer-drupal-optimizations: ^1.0.2
This package is auto-updated.
Last update: 2024-08-29 05:06:36 UTC
README
这是一个兼容 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
自定义
- 分支此存储库。
- 在 composer.json 中更改“名称”、“描述”等以适应。
- 重命名 ExampleCommands.php 和 ExampleCommandsTest.php 以适应您的项目。
- 测试使用的配置和站点别名可以放在 'sut/drush/drush.yml' 和 'sut/drush/sites/self.site.yml' 中。
- 检查 'sut/drush/drush.yml' 和 'sut/drush/drushrc.php',并将示例命令文件的名称更改为与您的项目中的名称匹配。这是必要的,因为 Drush 在运行测试或进行临时测试时需要能够找到您的命令文件,因为通常命令文件是在项目根目录的父目录中搜索的。
- 在 packagist.org 上添加您的扩展,以便可以通过 Composer 安装。