openeuropa / composer-artifacts
Composer 插件,允许下载指定的工件而不是默认的包。
Requires
- php: >=7.4
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ~2.0
- cweagans/composer-patches: ^1.6
- openeuropa/code-review: ^2.0
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-16 20:46:56 UTC
README
Composer 插件,允许下载指定的工件而不是默认的 dist URL,这允许下载所有工件依赖。
注意:Composer Artifacts 2.x 版本仅适用于 Composer 2.x,并且仅支持 ZIP 工件。
目录
安装
推荐通过 Composer 安装插件。
composer require openeuropa/composer-artifacts
使用方法
编辑 composer.json 文件并在 extra 部分添加以下内容
{
"extra": {
"artifacts": {
"foo/bar": {
"dist": {
"url": "https://github.com/{name}/releases/download/{version}/{project-name}-{version}.zip",
"type": "zip"
}
}
}
}
}
这将从以下位置获取 dist 内容
https://github.com/foo/bar/releases/download/0.1.0/bar-0.1.0.zip"
有效的 type 值是 tar 和 zip,而可用的 URL 替换令牌包括
{name}: 不带版本信息的完整包名,例如foo/bar{vendor-name}: 仅供应商名称,例如foo{project-name}: 仅项目名称,例如bar{pretty-version}: 此包的整洁(即非规范化)版本字符串,例如0.1.0{version}: 此包的完整版本,例如0.1.0.0{stability}: 此包的稳定性,例如dev、alpha、beta、RC或stable{type}: 包类型,例如library{checksum}: 此版本分发存档的 SHA1 校验和
开发环境搭建
使用 Docker Compose
或者,您可以使用提供的配置使用 Docker 和 Docker Compose 构建开发环境。
Docker 提供了运行测试所需的所有服务和工具,无论您的本地主机配置如何。
要求
配置
默认情况下,Docker Compose 读取两个文件,一个是 docker-compose.yml,另一个是可选的 docker-compose.override.yml 文件。按照惯例,docker-compose.yml 包含您的基本配置,并默认提供。重写文件,正如其名称所暗示的,可以包含现有服务或完全新服务的配置重写。如果服务在两个文件中都有定义,Docker Compose 将合并配置。
有关 Docker Compose 扩展机制的更多信息,请参阅官方 Docker Compose 文档。
使用方法
要开始,请运行
docker-compose up
建议不要将 docker-compose 守护进程化,这样您可以在完成工作后快速将其关闭(CTRL+C)。但是,如果您想将其守护进程化,必须添加标志 -d
docker-compose up -d
然后
docker-compose exec web composer install
运行测试
要运行 grumphp 检查
docker-compose exec web ./vendor/bin/grumphp run
要运行 phpunit 测试
docker-compose exec web ./vendor/bin/phpunit
步骤调试
要从命令行启用步骤调试,请将任何值传递给容器的 XDEBUG_SESSION 环境变量
docker-compose exec -e XDEBUG_SESSION=1 web <your command>
请注意,从XDebug 3版本开始,如果变量已设置但客户端未监听调试连接,控制台将输出连接错误消息。此错误消息会导致PHPUnit测试出现假阴性结果。
要从浏览器开始逐步调试,请使用浏览器扩展或书签工具设置正确的Cookie,例如在https://www.jetbrains.com/phpstorm/marklets/生成的工具。
贡献
有关我们的行为准则和向我们提交pull请求的流程的详细信息,请参阅完整文档。