willpower232 / cloverparser-laravel
willpower232/cloverparser的Laravel/Lumen封装,用于生成图像和存储文件
v1.1.0
2024-03-11 17:58 UTC
Requires
- php: ^7.4 || ^8.0
- illuminate/support: ^6.0 || 7.0 || ^8.0 || ^9.0 || ^10.0
- willpower232/cloverparser: ^1.1
Requires (Dev)
- nunomaduro/larastan: ^2.9
- orchestra/testbench: ^8.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/extension-installer: ^1.3
- phpunit/phpunit: ^10.0 || ^11.0
- robiningelbrecht/phpunit-coverage-tools: ^1.8
- squizlabs/php_codesniffer: ^3.6
README
这是一个包装器,它接收由willpower232/cloverparser生成的覆盖率百分比,然后使用视图通过Laravel创建覆盖率SVG徽章,并使用存储类将图像存储在某个位置。
这也可以与Lumen兼容,但我还没有弄清楚如何静态分析Lumen和Laravel。
作为一名前codecov的普通用户,我对控制自己的数据感兴趣,在他们的上传脚本被破坏后,我决定看看自己操作类似的设置有多复杂。
这是该项目的第二部分,将覆盖率百分比转换为可显示的内容,并将其存储在易于访问的位置。
安装
composer require willpower232/cloverparser-laravel
使用方法
设置CloverParser实例的路径,然后您可以存储文件。路径由项目文件夹和作为文件基本名称的分支组成。
按项目文件夹和分支名称存储文件,可以使文件结构合理,并且允许未来使用而无需查找其他内容。随着分支的持续和测试的频繁,旧文件将被替换,以存储最新文件。
如果您想创建覆盖率的时序数据集,您可以在应用程序中记录您想要的百分比(甚至可以给clover文件名前缀以避免覆盖)。
use WillPower232\CloverParserLaravel\CloverParser; $urlToSVG = app(CloverParser::class) ->setPath($project, $branch) ->addFile($pathToCloverFile) ->storeImage();
您也可以存储其他文件以供未来参考。
use WillPower232\CloverParserLaravel\CloverParser; $parser = app(CloverParser::class) ->setPath($project, $branch) ->addFile($pathToCloverFile); $urlToSVG = $parser->storeImage(); $urlToFile = $parser->store("$branch.clover", file_get_contents($pathToCloverFile));
或者,更多地使用Laravel
$file = new \Illuminate\Http\File($pathToCloverFile); $parser = app(CloverParser::class) ->setPath($project, $branch) ->addFile($file); $urlToFile = $parser->store("$branch.clover", $file);
或直接上传
$file = $request->file('file'); $parser = app(CloverParser::class) ->setPath($project, $branch) ->addFile($file); $urlToFile = $parser->store("$branch.clover", $file);
不要忘记在托管之前验证用户上传的文件。
配置
如果您想将文件存储在不同的磁盘上,您可以在环境中指定其名称。
CLOVER_PARSER_DISK=s3