neilmasters / semanticreleases

管理语义发布版本的实用工具

v1.0.0 2022-10-05 12:45 UTC

This package is auto-updated.

Last update: 2024-09-23 12:49:12 UTC


README

SemanticReleases 包含用于帮助维护语义发布版本的实用工具。

Versioning()

封装了版本号升级的功能。 Versioning::getIncreasedVersion() 接受当前版本并根据是主要版本、次要版本还是修复更改来增加它。

示例用法

$versioning = new \SemanticReleases\Util\Versioning();
$versioning->getIncreasedVersion('1.0.0'); // $increaseType defaults to major bump 2.0.0
$versioning->getIncreasedVersion('1.0.0', \SemanticReleases\Util\Versioning::MINOR); // 1.1.0
$versioning->getIncreasedVersion('1.0.0', \SemanticReleases\Util\Versioning::FIX); // 1.0.1

您可以通过查看单元测试来查看可以向 getIncreasedVersion() 方法抛出的所有可能组合。

不良版本值

为了方便从一种格式转换到另一种格式,getIncreasedVersion() 将执行大量工作以尝试将传递的版本转换为语义格式。

如果传递的版本不符合 major.minor.fix 或完全错误,getIncreasedVersion() 方法将尽力修复它,或者在最坏的情况下仅返回 1.0.0 版本。

非标准输入示例

$versioning = new \SemanticReleases\Util\Versioning();
$versioning->getIncreasedVersion(1); // 2.0.0
$versioning->getIncreasedVersion(1.1); // 2.0.0
$versioning->getIncreasedVersion('a'); // 1.0.0
$versioning->getIncreasedVersion('a.b'); // 1.0.0
$versioning->getIncreasedVersion('a.b.c'); // 1.0.0

总结来说,无论你给它什么,你都会得到一个正确的主要版本.次要版本.修复版本号。现在,如果你想要的值不同,那就是另一回事了。

空版本

如果版本为空,我们将其转换为 0,因此返回的版本将是 1.0.0。如果您正在初始化版本,这很有用。