willpower232/cloverparser-laravel

willpower232/cloverparser的Laravel/Lumen封装,用于生成图像和存储文件

v1.1.0 2024-03-11 17:58 UTC

This package is auto-updated.

Last update: 2024-09-11 19:20:27 UTC


README

run-tests Coverage

这是一个包装器,它接收由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