gradle - 如果没有明确要求,Gradle 拒绝快照
问题描述
我正在使用带有动态版本控制的 gradle,即类似这样的东西
dependencies {
compile("myGroup:myModule:1.9.+")
}
我想拒绝任何 SNAPSHOT 候选人,这样上面的例子就会匹配1.9.1
但会拒绝1.9.2-SNAPSHOT
,除非有人明确要求它。
到目前为止,我们使用了类似的东西
resolutionStrategy.componentSelection {
all { ComponentSelection selection ->
if (selection.candidate.version.endsWith("-SNAPSHOT")){
selection.reject("Rejecting changing version (SNAPSHOT)'")
}
}
}
这会拒绝所有以SNAPSHOT
. 我了解到,人们也可以使用类似这样的方式访问请求的版本
resolutionStrategy.eachDependency { details ->
if (details.requested.version.endsWith("-SNAPSHOT")) {
...
}
}
有没有办法将两者结合成这样的东西?
if (selection.candidate.version.endsWith("-SNAPSHOT") && ! details.requested.version.endsWith("-SNAPSHOT")) {
selection.reject("Rejecting changing version (SNAPSHOT)'")
}
解决方案
推荐阅读
- javascript - CSS,工具提示:根据工具提示文本自动调整背景大小
- haskell - 程序获取一个pair列表并返回它从小到大排序
- angular - Angular 8 httpclient 代码乱序运行
- d3.js - 如何使用 NVD3.JS 或 D3.JS 库在 OpenERP V7 中构建 Dashboard?
- c# - 如果其他一些节点不包含特定的子节点,则删除多个 XML 节点
- r - 加密 R 文件但仍然可以运行它
- javascript - BugSnag ErrorBoundary 未在反应中显示自定义错误页面
- angular-material - 材质对话框管理多个对话框 z-index
- javascript - 如何以角度形式添加可选的 ngModelGroup?
- python - Flask / SqlAlchemy / Graphene - 如何从数据库中查询对象并更改值?