版本

这是一个用于处理版本的辅助类,它根据点和连字符拆分版本字符串。它将所有版本组件作为属性公开,并通过比较运算符提供完全排序。

比较版本
 compiler_lower_than_12 = Version(self.settings.compiler.version) < "12.0"

 is_legacy = Version(self.version) < 2
class Version(value, qualifier=False)

这不是 semver 的实现,因为用户可以在其版本中使用任何模式。它只是一个辅助工具,用于解析“.”或“ -”并在可能的情况下考虑整数进行比较

属性

Version 类提供了访问版本号不同部分的方法

main

获取所有主要数字。

v = Version("1.2.3.4-alpha.3+b1")
assert [str(i) for i in v.main] == ['1', '2', '3', '4', '5']

major

获取主版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.major) == "1"

minor

获取次版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.minor) == "2"

patch

获取补丁版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.patch) == "3"

micro

获取微版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.micro) == "4"

pre

获取预发布版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.pre) == "alpha.3"

build

获取构建版本号。

v = Version("1.2.3.4-alpha.3+b1")
assert str(v.build) == "b1"