mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-27 00:30:17 +08:00
Update KDoc
This commit is contained in:
parent
00781c215a
commit
209bc97b32
@ -21,7 +21,7 @@ internal object SemVersionInternal {
|
|||||||
private val versionSelect = """^[0-9]+(\.[0-9]+)*\.x$""".toRegex()
|
private val versionSelect = """^[0-9]+(\.[0-9]+)*\.x$""".toRegex()
|
||||||
private val versionMathRange =
|
private val versionMathRange =
|
||||||
"""([\[\(])([0-9]+(\.[0-9]+)+(|[\-+].+))\s*\,\s*([0-9]+(\.[0-9]+)+(|[\-+].+))([\]\)])""".toRegex()
|
"""([\[\(])([0-9]+(\.[0-9]+)+(|[\-+].+))\s*\,\s*([0-9]+(\.[0-9]+)+(|[\-+].+))([\]\)])""".toRegex()
|
||||||
private val versionRule = """^((\>\=)|(\<\=)|(\=)|(\>)|(\<))\s*([0-9]+(\.[0-9]+)+(|[\-+].+))$""".toRegex()
|
private val versionRule = """^((\>\=)|(\<\=)|(\=)|(\!\=)|(\>)|(\<))\s*([0-9]+(\.[0-9]+)+(|[\-+].+))$""".toRegex()
|
||||||
|
|
||||||
private val SEM_VERSION_REGEX =
|
private val SEM_VERSION_REGEX =
|
||||||
"""^(0|[1-9]\d*)\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$""".toRegex()
|
"""^(0|[1-9]\d*)\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$""".toRegex()
|
||||||
@ -127,7 +127,7 @@ internal object SemVersionInternal {
|
|||||||
}
|
}
|
||||||
versionRule.matchEntire(trimmed)?.let { result ->
|
versionRule.matchEntire(trimmed)?.let { result ->
|
||||||
val operator = result.groupValues[1]
|
val operator = result.groupValues[1]
|
||||||
val version1 = SemVersion.invoke(result.groupValues[7])
|
val version1 = SemVersion.invoke(result.groupValues[8])
|
||||||
return when (operator) {
|
return when (operator) {
|
||||||
">=" -> {
|
">=" -> {
|
||||||
object : SemVersion.Requirement {
|
object : SemVersion.Requirement {
|
||||||
@ -154,6 +154,11 @@ internal object SemVersionInternal {
|
|||||||
override fun test(version: SemVersion): Boolean = version.compareTo(version1) == 0
|
override fun test(version: SemVersion): Boolean = version.compareTo(version1) == 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
"!=" -> {
|
||||||
|
object : SemVersion.Requirement {
|
||||||
|
override fun test(version: SemVersion): Boolean = version.compareTo(version1) != 0
|
||||||
|
}
|
||||||
|
}
|
||||||
else -> error("operator=$operator, version=$version1")
|
else -> error("operator=$operator, version=$version1")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,21 +113,28 @@ internal constructor(
|
|||||||
*
|
*
|
||||||
* - `1.0.0-M4` 要求 1.0.0-M4 版本, 且只能是 1.0.0-M4 版本
|
* - `1.0.0-M4` 要求 1.0.0-M4 版本, 且只能是 1.0.0-M4 版本
|
||||||
* - `1.x` 要求 1.x 版本
|
* - `1.x` 要求 1.x 版本
|
||||||
* - `1.0.0 - 1.2.0` 要求 1.0.0 到 1.2.0 的任意版本, 注意 `-` 两边必须要有空格
|
|
||||||
* - `[1.0.0, 1.2.0]` 与 `1.0.0 - 1.2.0` 一致
|
|
||||||
* - `> 1.0.0-RC` 要求 1.0.0-RC 之后的版本, 不能是 1.0.0-RC
|
* - `> 1.0.0-RC` 要求 1.0.0-RC 之后的版本, 不能是 1.0.0-RC
|
||||||
* - `>= 1.0.0-RC` 要求 1.0.0-RC 或之后的版本, 可以是 1.0.0-RC
|
* - `>= 1.0.0-RC` 要求 1.0.0-RC 或之后的版本, 可以是 1.0.0-RC
|
||||||
* - `< 1.0.0-RC` 要求 1.0.0-RC 之前的版本, 不能是 1.0.0-RC
|
* - `< 1.0.0-RC` 要求 1.0.0-RC 之前的版本, 不能是 1.0.0-RC
|
||||||
* - `<= 1.0.0-RC` 要求 1.0.0-RC 或之前的版本, 可以是 1.0.0-RC
|
* - `<= 1.0.0-RC` 要求 1.0.0-RC 或之前的版本, 可以是 1.0.0-RC
|
||||||
|
* - `!= 1.0.0-RC` 要求 除了1.0.0-RC 的任何版本
|
||||||
|
* - `[1.0.0, 1.2.0]`
|
||||||
|
* - `(1.0.0, 1.2.0]`
|
||||||
|
* - `[1.0.0, 1.2.0)`
|
||||||
|
* - `(1.0.0, 1.2.0)` [数学区间](https://baike.baidu.com/item/%E5%8C%BA%E9%97%B4/1273117)
|
||||||
*
|
*
|
||||||
* 对于多个规则, 也允许使用 `||` 拼接.
|
* 对于多个规则, 允许使用逻辑符号 `{}`, `||`, `&&`
|
||||||
* 例如:
|
* 例如:
|
||||||
* - `1.x || 2.x || 3.0.0`
|
* - `1.x || 2.x || 3.0.0`
|
||||||
* - `<= 0.5.3 || >= 1.0.0`
|
* - `<= 0.5.3 || >= 1.0.0`
|
||||||
|
* - `{> 1.0 && < 1.5} || {> 1.8}`
|
||||||
|
* - `{> 1.0 && < 1.5} || {> 1.8}`
|
||||||
|
* - `> 1.0.0 && != 1.2.0`
|
||||||
*
|
*
|
||||||
* 特别注意:
|
* 特别注意:
|
||||||
* - 依赖规则版本号不需要携带版本号元数据, 元数据不参与依赖需求的检查
|
* - 依赖规则版本号不需要携带版本号元数据, 元数据不参与依赖需求的检查
|
||||||
* - 如果目标版本号携带有先行版本号, 请不要忘记先行版本号
|
* - 如果目标版本号携带有先行版本号, 请不要忘记先行版本号
|
||||||
|
* - 因为 `()` 已经用于数学区间, 使用 `{}` 替代 `()`
|
||||||
*/
|
*/
|
||||||
@Throws(IllegalArgumentException::class)
|
@Throws(IllegalArgumentException::class)
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
@ -90,6 +90,11 @@ internal class TestSemVersion {
|
|||||||
.assertFalse("0.98774587")
|
.assertFalse("0.98774587")
|
||||||
SemVersion.parseRangeRequirement("> 1.0.0")
|
SemVersion.parseRangeRequirement("> 1.0.0")
|
||||||
.assertFalse("1.0.0")
|
.assertFalse("1.0.0")
|
||||||
|
SemVersion.parseRangeRequirement("!= 1.0.0 && != 2.0.0")
|
||||||
|
.assert("1.2.3").assert("2.1.1")
|
||||||
|
.assertFalse("1.0").assertFalse("1.0.0")
|
||||||
|
.assertFalse("2.0").assertFalse("2.0.0")
|
||||||
|
.assert("2.0.1").assert("1.0.1")
|
||||||
|
|
||||||
SemVersion.parseRangeRequirement("> 1.0.0 || < 0.9.0")
|
SemVersion.parseRangeRequirement("> 1.0.0 || < 0.9.0")
|
||||||
.assertFalse("1.0.0")
|
.assertFalse("1.0.0")
|
||||||
|
Loading…
Reference in New Issue
Block a user