如果未明确要求,Gradle拒绝快照

时间:2019-06-05 13:24:51

标签: gradle build.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)'")
}

0 个答案:

没有答案