在gradle+;中使用动态版本时的排序;测试版

在gradle+;中使用动态版本时的排序;测试版,gradle,dynamic,dependencies,version,Gradle,Dynamic,Dependencies,Version,在gradle文件中,可以使用动态版本指定依赖项,如: 编译'some.dependency:name:1.+' 这是为解决“最新”匹配版本而记录的。我有两个问题: [1]最新”是什么意思?假设可用版本为: 1.0 1.1-beta 1.1 “最新”的是1.1测试版还是1.1测试版?它完全取决于版本发布的时间,还是纯粹基于版本字符串?如果纯粹基于字符串,使用什么顺序,因为如果只是字母顺序,那么我认为1.1-beta最终会比1.1“更新” [2]作为一个模块的发布者,是否有一种合理的方法来发布

在gradle文件中,可以使用动态版本指定依赖项,如:

编译'some.dependency:name:1.+'

这是为解决“最新”匹配版本而记录的。我有两个问题:

[1]最新”是什么意思?假设可用版本为:

  • 1.0
  • 1.1-beta
  • 1.1
“最新”的是1.1测试版还是1.1测试版?它完全取决于版本发布的时间,还是纯粹基于版本字符串?如果纯粹基于字符串,使用什么顺序,因为如果只是字母顺序,那么我认为1.1-beta最终会比1.1“更新”

[2]作为一个模块的发布者,是否有一种合理的方法来发布一个beta版本,这样依赖您的模块并使用动态版本的开发人员就不会自动获取它?是否有一种标准的或公认的方法来做到这一点

谢谢


[我知道不鼓励使用动态版本。这些问题是从提供模块的人的角度提出的,他们希望确保使用动态版本并忽略此建议的开发人员不会最终导致意外事件]

我猜您是在发布到maven,我知道,应该有一个名为maven metadata.xml的xml文件,它保存了最新上传到相应工件的信息。所以我想这并不取决于你的命名惯例,而是取决于你上传的最新的。如果您要上传1.0.0.1最新版本,那么它将被下载,而不是1.1-beta或1.1版本


查看更多信息。

我猜您将发布到maven,并且正如我所知,应该有一个名为maven metadata.xml的xml文件,它保存了最新上传到相应工件的信息。所以我想这并不取决于你的命名惯例,而是取决于你上传的最新的。如果您要上传1.0.0.1最新版本,那么它将被下载,而不是1.1-beta或1.1版本

有关更多信息,请查看