我无法找到有关Gradle动态版本语法的任何明确文档 - official docs中的示例为1.+
和2.+
,两者似乎都没有上限。
假设我的存储库中有1.0-SNAPSHOT
和2.0-SNAPSHOT
,我希望某个项目可以引入第一个或以后的任何稳定1.x
,但是不是第二个。
我已经尝试了Maven syntax([1.0,2.0)
)和Ivy syntax([1.0,2.0[
)。这两个都引入了2.0-SNAPSHOT
。为什么? 2.0-SNAPSHOT
是否被视为“小于”2.0
?
基于这个假设,我尝试了明显的黑客攻击:[1.0,2.0-SNAPSHOT)
和[1.0,2.0-SNAPSHOT[
,但这两种方法都只是失败的依赖解析。
如何告诉Gradle我只想要版本1.x
?
答案 0 :(得分:1)
看起来答案是+
包含隐式上限。因此1.+
表示“以1.
”
这似乎不是Gradle文档中的任何位置,但是Ivy记录了它:
- 以+ +结束修订 选择依赖模块的最新子修订版。例如, 如果依赖模块存在于修订版1.0.3,1.0.7和1.1.2中,“1.0。+”将选择1.0.7。