hgraca / composer-system-requirements-plugin
用于管理系统依赖的composer插件。
v1.0.0
2023-04-03 20:38 UTC
Requires
- php: ^8.2
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.5.5
- ergebnis/composer-normalize: ^2.30.2
- friendsofphp/php-cs-fixer: ^v3.16.0
- malukenho/mcbumpface: ^1.2.0
- overtrue/phplint: ^9.0.4
- phpstan/phpstan: ^1.10.11
- phpunit/phpunit: ^10.0.19
- psalm/plugin-phpunit: ^0.18.4
- rector/rector: ^0.15.24
- roave/security-advisories: dev-master
- vimeo/psalm: ^5.9.0
README
这是一个composer插件,它会在操作系统级别本身检查依赖项,例如检查是否安装了Bash版本高于5.0。
如何使用
安装并允许插件
composer require "hgraca/composer-system-requirements-plugin"
{
"name": "hgraca/some-project",
"type": "project",
"require": {
"hgraca/composer-system-requirements-plugin": "^1.0"
},
"config": {
"allow-plugins": {
"hgraca/composer-system-requirements-plugin": true
}
}
}
配置需求
在撰写本文时,只有一个内置需求,即 bash
,该需求由位于 src/Package/RequirementValidator/BashRequirementValidator.php
的类验证。
如果/当添加更多需求验证器时,您可以在同一位置找到它们。
系统需求可以配置为
{
"name": "hgraca/dummy-shell-project-1",
"type": "project",
"extra": {
"hgraca/composer-system-requirements-plugin": {
"require": {
"bash": "^5.1"
}
}
}
}
创建自己的验证器
您的验证器需要实现接口 \Hgraca\ComposerSystemRequirementsPlugin\Package\RequirementValidator\RequirementValidatorInterface
。
例如,请参阅 src/Package/RequirementValidator/BashRequirementValidator.php
。
添加自定义需求验证器
{
"name": "hgraca/dummy-shell-project-1",
"type": "project",
"extra": {
"hgraca/composer-system-requirements-plugin": {
"require": {
"bash": "^5.1"
},
"validators": [
"MyVendor\\MyProject\\MyValidatorClass"
]
}
}
}
一个工作示例
对于工作示例,请检查 tests/PluginTestPlayground
。
您可以使用以下任何命令
export COMPOSER="composer_with_successful_root_requirement-run_on_shell.json" && composer -d tests/PluginTestPlayground/TestProject install
export COMPOSER="composer_with_failed_root_requirement-run_on_shell.json" && composer -d tests/PluginTestPlayground/TestProject install
如何运行
使用本地PHP (8.2)
- 使用
composer install
安装依赖项; - 可以使用
composer test
运行测试; - 要列出所有自定义脚本,请运行
composer run-script --list
。
使用Docker
- 在
./build
中更改PHP和xdebug配置; - 使用
docker compose -f ./build/docker-compose.yaml run app composer install
安装依赖项; - 可以使用
composer docker-test
运行测试; - 要列出所有自定义脚本,请运行
docker compose -f ./build/docker-compose.yaml run app composer run-script --list
。
其他命令
composer git-bundle
:创建一个git bundlegit clone -b main composer-system-requirements-plugin.gitbundle composer-system-requirements-plugin
:从git bundle重新创建存储库