【问题标题】:Ignore Gradle Build Failure and continue build script?忽略 Gradle 构建失败并继续构建脚本?
【发布时间】:2015-05-13 22:28:25
【问题描述】:

使用 Gradle 管理 Android 的依赖项是以一种奇怪的方式完成的。它们必须以不同的方式下载到本地存储库中。这在设置 CI 构建时很痛苦,因为它可以在多个节点上运行。因此,我使用 sdk-manager-plugin 在构建时下载 Android 依赖项。我似乎在使用 sdk-manager-plugin 时遇到了an old bug,尽管它会在构建时下载依赖项,但它们在该命令中不可用。

下次运行命令时一切正常(因为所有内容都已下载),但我需要找到一种方法来忽略第一个 gradle 命令的构建失败,以便下载所有内容并准备好进行第二个.我意识到这是 hacky,但我已经搞砸了。

理想情况下这样的事情会起作用:

./gradlew clean --ignoreBuildFailures
./gradlew distributeCIBuild

我在 Gradle 文档中能找到的最接近的东西是 --quite,但它看起来不起作用。

欢迎任何有创意的解决方案。

【问题讨论】:

  • --continue 呢?
  • 我在 --continue 上找不到任何文档。
  • 尝试运行 ./gradlew --help 或查看 [1]。描述是“在任务失败后继续执行任务”。 [1]:gradle.org/docs/current/userguide/gradle_command_line.html
  • 在上面我用假的--ignoreBuildFailures 发布的示例中,你认为如果我用--continue 替换它会起作用吗?听起来它在运行清理后仍然会失败。它只是保存到最后。
  • 这似乎奏效了(尽管有时很难重现)。您介意创建一个答案,我会在一天左右将其标记为正确吗?

标签: android jenkins gradle android-gradle-plugin


【解决方案1】:

要使用的标志是--continue

来自documentation

在任务失败后继续执行任务。

【讨论】:

  • 感谢您提供非常有价值的答案。因此,我能够解决客户端部署问题。 :)
  • @UtkarshMankad 你不能是认真的:o
  • 我们启用“警告为错误”但让事情变得容易“尝试”的方式。
【解决方案2】:

在 build.gradle 文件中添加:

tasks.withType(JavaCompile) {
    options.failOnError(false)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2014-03-30
    • 1970-01-01
    相关资源
    最近更新 更多