如何约束Gradle';s";最新的“整合”;或;最新发布;到一个范围?

如何约束Gradle';s";最新的“整合”;或;最新发布;到一个范围?,gradle,Gradle,还在这里学习gradle。正在寻找一种方法来获取给定范围内最新的“任何内容”(快照/集成或发布)或最新的必须发布版本,例如[1.0,2.0]。是否有一种方法可以指定它?到处搜索,只找到对使用范围的引用(这似乎不允许我限制发布或使用快照)或者使用“latest.integration”和/或“latest.release”始终保持其完全开放 请帮助![1.0,2.0)已经表示“最新的任何东西”或“必须发布最新的版本”(我认为是后者,但不完全确定)。另一个目前不受支持。好的,我刚刚更新到最新的Gra

还在这里学习gradle。正在寻找一种方法来获取给定范围内最新的“任何内容”(快照/集成或发布)或最新的必须发布版本,例如[1.0,2.0]。是否有一种方法可以指定它?到处搜索,只找到对使用范围的引用(这似乎不允许我限制发布或使用快照)或者使用“latest.integration”和/或“latest.release”始终保持其完全开放


请帮助!

[1.0,2.0)
已经表示“最新的任何东西”或“必须发布最新的版本”(我认为是后者,但不完全确定)。另一个目前不受支持。

好的,我刚刚更新到最新的Gradle 2.1。这解决了我遇到的一些问题。否则,我发现如下:

“latest.integration”将匹配最新的任何内容—快照或发行版,无论它发现什么更新

“latest.release”将匹配最新版本并跳过快照

“major.minor.+”(无论您有多少版本号段)实际上会表现为“最新的.integration”,仅限于major.minor。最初我认为它仅限于发行版,但实际上它也与快照匹配

“[1.0,2.0]”实际上也会在范围内表现为列表“latest.integration”,并将包括快照,这与我在上面的想法和评论不同

所以,我现在不知道如何将范围或“1.+”限制在发行版,但这不是我当前的问题(可能是几小时后的问题,哈哈)

更新

将版本限制在某个范围内的一种方法似乎是弄乱“组件元数据规则”。不匹配的版本(范围外的版本)可能会被人为地宣布为非发布版本。尽管如此,这真的很难看

更新2


我的一部分困惑是由于我使用的旧Gradle和新的2.1版本之间的行为变化。以上是2.1版本-我使用的旧Gradle(1.8)没有按照上面的方式干净地运行。

谢谢!我的体验似乎是“范围内的最新版本”…因为它似乎没有得到-快照。是否有任何建议我如何自定义其他代码?是否有一种方法我至少可以做一些类似的事情?也许可以发现所有版本,自己匹配它们?或者比这更接近的东西,例如半约束(只有最小值和最大值中的一个)我可以做另一件事吗?你必须编写自己的算法,将一个版本范围解析为一个版本(包括远程通信以列出每个存储库中的可用版本等;我不知道有任何公共Gradle API可以对此提供帮助)。然后你可以将其挂接到Gradle的解析过程中。有没有办法至少指定x.y.-快照?也就是说,不是一个真实的范围,但必须保持前两个版本号(主要版本号和次要版本号)?实际上,这里似乎有更多的问题…我开始玩这个…以及“最新的集成”和“最新的发布版本号”即使存在较新的快照(较发行版更新的次要版本),也要查找相同的版本。这是一个真正的问题。“较新”是如何定义的?它肯定不是通过实际时间戳定义的。它也不是通过ASCII排序定义的。它似乎是一个过滤过程,忽略了包含非数字的版本。但它没有在任何地方指定。