在 Gradle 中对依赖项使用语义版本控制

Posted

技术标签:

【中文标题】在 Gradle 中对依赖项使用语义版本控制【英文标题】:use semantic versioning for a dependency in Gradle 【发布时间】:2017-02-01 12:56:52 【问题描述】:

如何在 Gradle 中使用语义版本控制,例如在我的构建文件中

compile group: 'someGroup', name: 'some-library', version:'1.1.?'

我喜欢自动构建some-library 的最新版本,它具有1.1 版本的所有细微变化。

【问题讨论】:

我认为这是不可能的,我认为这是有原因的——新发布的版本可能有错误,所以你不会想立即使用它。 感谢 Alexiy,假设某个版本存在安全漏洞,最好自动使用下一个稳定版本,而不是选择一个确切的漏洞版本。为了务实,您多久检查一次项目并手动升级依赖项? 【参考方案1】:

我收回我的话,这样做是有可能的,因为 Gradle 可以使用 Apache Ivy 依赖解析。在你的情况下,你可以写

compile group: 'someGroup', name: 'some-library', version:'1.1.+'

compile group: 'someGroup', name: 'some-library', version:'latest.release'

参考:http://ant.apache.org/ivy/history/trunk/settings/version-matchers.html

相关 - http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html

【讨论】:

以上是关于在 Gradle 中对依赖项使用语义版本控制的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件Gradle 依赖管理 ⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号 | 动态指定依赖版本号 | 使用命令行查看模块 )

如何将 Gradle 依赖项更新到最新版本

Jenkins 和 gradle - 使用最新版本的 CI 依赖项构建项目,用于生产的特定版本

npm学习之如何使用语义化版本

gradle 到 maven 的转换,在依赖项的依赖项的版本名称中解析通配符“+”?

在 Gradle 中,如何生成具有解析为实际使用版本的动态依赖项的 POM 文件?