我想了解摇篮如何处理依赖版本带有“+”号作为例子8.1在这里看到: http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
testCompile group: 'junit', name: 'junit', version: '4.+
该文件指出,这将得到一个版本的JUnit> = 4.0。 如何将一个获得一个(或等于)版本依赖大于,比如说,5.10? 难道是5.10+
或5.1+
? 前者似乎无法正常工作,而后者则。 我将如何得到的依赖大于或等于1.22? 1.2+
? 在这种情况下,如果1.21版本存在,并且是最新的版本,我想失败了,因为我要大于或等于1.22,但1.2+
会寻找> = 1.20。 如何指定呢? 这可能吗? 我似乎无法找到它的更多的文档。
编辑:我倾向于认为它是1.2+
相当于1.2([0-9]+)
这是正确的思维方式?
在这种情况下,如果1.21版本存在,并且是最新的版本,我想失败了,因为我要大于或等于1.22,但1.2+会寻找> = 1.20。 如何指定呢? 这可能吗?
我不认为有这个的任何文件,但由于摇篮最初使用的Ivy引擎盖其所有依赖管理功能下,我接过一看就动态版本的常春藤文档:
http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
它仅比摇篮文档稍多。 我试着在摇篮常春藤风格的版本范围试验:
compile group: 'log4j', name: 'log4j', version: '[1.2.12,1.2.17]'
令人惊讶的是,似乎有时会根据版本的范围是什么工作。 在上面的例子中它解析为1.2.17
。
我知道这并不能完全解决您的问题(这我感到太奇怪),但希望它提供了一些信息给你。
我认为这个问题是,你是在错误的正则表达式思维的“+”。 这并不意味着将被读取作为一个正则表达式表达元件(“一个或多个数字字符”),而是作为“最新的可用版本,其中每个前导SEMVER部件的匹配提供的模式”。 :为什么这是不优选甚至使用这个符号引用,可以发现http://central.sonatype.org/articles/2014/Oct/28/enforcing-valid-dependency-versions/