首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手动调用Gradle的存储库搜索?

如何手动调用Gradle的存储库搜索?
EN

Stack Overflow用户
提问于 2017-03-12 19:43:10
回答 1查看 35关注 0票数 1

作为构建发布版本的前提条件,比如acme-widgets-1.0,我想搜索已配置的存储库(或特定存储库)以确保acme-widgets-1.0.jar尚未发布。我怎样才能用Gradle做到这一点?或者,有没有办法为特定版本配置not-exists依赖项?

代码语言:javascript
复制
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?
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-14 23:41:37

您可以声明一个配置,其中只包含您试图查看其是否已经发布的工件。在解析此配置时,您将拥有一个空文件集或空文件集。

所以大概是这样的:

代码语言:javascript
复制
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
        }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42746969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档