SemVersion

语义化版本 支持

解析示例

1.0.0-M4+c25733b8 将会解析出下面的内容, major (主本号), minor (次版本号), patch (修订号), identifier (先行版本号) 和 metadata (元数据).

SemVersion(
major = 1,
minor = 0,
patch = 0,
identifier = "M4"
metadata = "c25733b8"
)

其中 identifier 和 metadata 都是可选的.

对于核心版本号, 此实现稍微比语义化版本规范宽松一些, 允许 x.y 的存在.

序列化

使用 SemVersionAsStringSerializer, SemVersion 被序列化为 toString 的字符串.

See also

版本号要修

由字符串解析

Types

Link copied to clipboard
object Companion
Link copied to clipboard

一条依赖规则

Link copied to clipboard

使用 SemVersion.toString 序列化, 使用 SemVersion.invoke 反序列化.

Functions

Link copied to clipboard
open operator override fun compareTo(other: SemVersion): Int

比较 thisother 的实际版本大小.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

深度比较 thisother, 当且仅当 major, patch, minor, identifier, metadata 完全相同时返回 true.

fun equals(other: SemVersion, deep: Boolean): Boolean

比较 thisother.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard

当满足 requirement 时返回 true, 否则返回 false

Link copied to clipboard
open override fun toString(): String

返回类似 1.0.0-M4+c25733b8 的字符串.

Link copied to clipboard

SemVersion 转为 Kotlin data class 风格的 String.

Properties

Link copied to clipboard
val identifier: String? = null

先行版本号识别符

Link copied to clipboard
val major: Int

主版本号

Link copied to clipboard
val metadata: String? = null

版本号元数据, 不参与版本号对比(compareTo), 但是参与版本号严格对比(equals)

Link copied to clipboard
val minor: Int

次版本号

Link copied to clipboard
val patch: Int?

修订号