我正在使用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)'")
}