我想要编写库,它应该与工件一起使用
"org" %% "scanamo"
版本 1.0.0-M10
及以上版本,例如 1.0.0-M11
、1.0.0-RC1
、1.0.1
。但版本应该选择库的用户。
我厌倦了 sbt
"org" %% "scanamo" % "1.0.+"
,但找不到任何版本。
如何使用规则“
1.0.0-M10
及以上”在库中设置用户提供的依赖项
version matchers
的概念。
根据您的需求,使用像
latest.milestone
这样简单的内容来代替版本号就足够了,并且将确保始终引入最新的里程碑。
例如:
"org" %% "scanamo" % "latest.milestone"
注意:sbt 1.3 默认使用 Coursier 而不是 Ivy。
编辑:如果使用 sbt 1.3,Coursier 似乎也具有类似的功能。请参阅Coursier 版本处理。
没有这样的功能。
作为库,您可以指定所需的版本。只是一个特定版本。
如果库用户选择使用不同的版本(或者另一个依赖项拉入不同的版本),则将选择最高版本。
该较高版本可能适用于您的库,也可能不适用于您的库。如果 SBT 认为(根据语义版本控制规则)该版本可能不兼容,它将打印一条警告。但这是否有效取决于用户。
有点乱。尤其是在 Scalaland 中,不兼容的库更新很频繁。
如何使用规则“1.0.0-M10 及以上”在库中设置用户提供的依赖项
您依赖
org" %% "scanamo" % "1.0.0-M10"
。您希望后续版本与其保持兼容。