作为构建发布版本的前提条件,比如acme-widgets-1.0,我想搜索已配置的存储库(或特定存储库)以确保acme-widgets-1.0.jar尚未发布。我怎样才能用Gradle做到这一点?或者,有没有办法为特定版本配置not-exists依赖项?
group = 'com.acme'
version = '1.0'
repositories {
jcenter()
}
if (gradle.startParameter.taskNames.contains("release")) {
def taskNames = gradle.startParameter.taskNames
taskNames.add(0, "checkReleaseDoesntExist")
gradle.startParameter.taskNames = taskNames
}
task checkReleaseDoesntExist() {
}
task release() {
println "Building release"
}
checkReleaseDoesntExist.doLast {
println "Checking repositories to make sure release hasn't already been built"
// TODO What do I do here?
}发布于 2017-03-14 23:41:37
您可以声明一个配置,其中只包含您试图查看其是否已经发布的工件。在解析此配置时,您将拥有一个空文件集或空文件集。
所以大概是这样的:
configurations {
checkRelease { transitive = false }
}
dependency {
checkRelease "$group:$name:$version"
}
task ('checkReleaseDoesntExist') {
doLast {
println "Checking repositories to make sure release hasn't already been built"
try {
if (!configurations.checkRelease.files.isEmpty()) {
// already exists
}
}
catch (ResolveException e) {
// doesn't exist
}
}https://stackoverflow.com/questions/42746969
复制相似问题