静默处理Gradle任务失败

时间:2018-02-12 20:15:06

标签: gradle build.gradle sonar-runner

只有在执行sonarqube任务后满足条件时,我才有一个应该运行特定Gradle任务(build任务)的项目。此任务可能会失败,因为它与有时不可用的远程服务器通信。如果服务器不可用,我想静默处理错误,将一些消息打印到控制台,而不是使整个构建失败。

目前,我可以使用以下配置执行此操作:

build.doLast {
    if ('desired.value' == System.properties['some.prop']) {
        try {
            tasks.sonarqube.execute()
        } catch(e) {
            ...
        }
    }
}

但是使用这种方法我得到了弃用消息。读了一下之后我认为不应该使用execute,所以我提出了这个:

if ('desired.value' == System.properties['some.property']) {
    build.finalizedBy sonarqube
}

但是在这种情况下,如果sonarqube任务失败,我的整个构建也会失败。在这种情况下,如何处理sonarqube任务失败?

我正在使用Gradle 4.5.1

修改

使用以下命令运行构建:

./gradlew build

如下所示修改它会导致Gradle不仅忽略sonarqube次失败,还会忽略build失败,这不是我想要的:

./gradlew build --continue

0 个答案:

没有答案