tm / tooly-composer-script
用于管理 Phar 文件的简单 composer 脚本。
Requires
- php: >=5.6.0
Requires (Dev)
- composer/composer: 1.*
- mikey179/vfsstream: 1.6.*
- php-mock/php-mock-phpunit: 1.1.*
- symfony/console: ^3.0
Suggests
- tm/gpg-verifier: Allows verification over GPG for PHAR tools.
This package is auto-updated.
Last update: 2024-08-29 23:03:19 UTC
README
使用 tooly composer-script,您可以在项目的 composer.json 中不直接添加它们到 VCS 中,来管理所需的 PHAR 文件版本,
- 以节省 vcs 存储库的磁盘空间
- 确保项目中所有开发者都能获取到所需的工具链
- 为 CI/CD 系统做准备
- (可选) 自动检查每个工具的 GPG 签名验证
每个 PHAR 文件都将保存在 composer 二进制目录 中。
示例
一个实际示例可以在 这里 找到。
要求
- PHP >= 5.6
- Composer
安装
要使用此脚本,请执行以下命令
composer require --dev tm/tooly-composer-script
然后,在 composer.json 中的 "scripts" 下添加脚本,并指定要触发的事件名称。例如
...
"scripts": {
"post-install-cmd": "Tooly\\ScriptHandler::installPharTools",
"post-update-cmd": "Tooly\\ScriptHandler::installPharTools"
},
...
更多有关 composer 事件的信息,请 查看此处。
示例用法
composer.json 架构中有一个部分 "extra",该部分用于脚本。其描述 在此。
在此部分中,您可以在 "tools" 键下添加所需的 PHAR 工具。
...
"extra": {
...
"tools": {
"phpunit": {
"url": "https://phar.phpunit.de/phpunit-5.5.0.phar",
"sign-url": "https://phar.phpunit.de/phpunit-5.5.0.phar.asc"
},
"phpcpd": {
"url": "https://phar.phpunit.de/phpcpd-2.0.4.phar",
"only-dev": true,
"rename": true
},
"security-checker": {
"url": "http://get.sensiolabs.org/security-checker.phar",
"force-replace": true
},
}
...
}
...
参数
url (必需)
添加工具名称作为键后,您只需添加一个额外的参数,即 "url"。URL 可以是特定版本(例如 x.y.z)的链接,或指向此 Phar 的最新版本的链接。
rename (可选,默认 false)
将下载的工具重命名为用作键的名称。
sign-url (可选,默认 none)
如果设置了此参数,tooly 会通过比较 sign-url 中的签名来检查 url 中的 PHAR 文件是否具有有效的签名。
此选项很有用,如果您想确保工具来自预期的作者。
注意:对于检查,您还需要一个额外的 要求 和一个 GPG 二进制文件在您的 $PATH 变量中。
您可以使用此命令添加要求:composer require tm/gpg-verifier
如果没有工具作者的公钥在您的 GPG 密钥链中,此检查通常会失败。
fallback-url (可选,默认 none)
此选项很有用,如果您想为日常构建过程添加额外的稳定性。
如果所需的 URL 不可访问且设置了 fallback-url
,则 tooly 将使用回退 URL 下载 Phar 文件。回退 URL 可以是特定版本(例如 x.y.z)的链接,或指向此 Phar 的最新版本的链接。
force-replace (可选,默认 false)
每次使用 composer 更新或安装时,都会检查 Phar 工具。如果远程和本地 Phar 的校验和不同,则会询问您是否要覆盖现有的 Phar。
除非您设置了此参数。
此选项很有用,如果您有一个指向工具最新版本的链接,并且总是希望进行替换。或者您在非交互模式下运行 composer(例如在 CI 系统中)并希望进行替换。
但即使某些require-dev库将工具作为自己的需求,这也很有用。
only-dev(可选,默认为true)
此参数表示此phar只在开发模式下需要。因此,命令 composer [install|update] --no-dev
会忽略此phar工具。
注意:因此tooly必须是no-dev需求
PhpStorm或其他IDE用户注意事项
要进一步实现自动提示,您应该在项目中设置“include_path”选项。
贡献
有关如何贡献的信息,请参阅CONTRIBUTING.md