neilmasters / semanticreleases
管理语义发布版本的实用工具
v1.0.0
2022-10-05 12:45 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
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。如果您正在初始化版本,这很有用。