parseRangeRequirement

解析一条依赖需求描述, 在无法解析的时候抛出 IllegalArgumentException

对于一条规则, 有以下方式可选

  • 1.0.0-M4 要求 1.0.0-M4 版本, 且只能是 1.0.0-M4 版本

  • 1.x 要求 1.x 版本

  • > 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) 数学区间

对于多个规则, 允许使用逻辑符号 {}, ||, && 例如:

  • 1.x || 2.x || 3.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

特别注意:

  • 依赖规则版本号不需要携带版本号元数据, 元数据不参与依赖需求的检查

  • 如果目标版本号携带有先行版本号, 请不要忘记先行版本号

  • 因为 () 已经用于数学区间, 使用 {} 替代 ()