当前位置: 首页 > 面试题库 >

忽略Gradle构建失败并继续构建脚本吗?

韩欣怿
2023-03-14
问题内容

使用Gradle管理Android的依赖关系是一种怪异的方式。它们必须以不同的方式下载到本地存储库中。设置CI构建时,这很麻烦,因为可以在多个节点上运行。因此,我正在使用sdk-
manager-plugin
在构建时下载Android依赖项。我似乎在使用sdk-manager-
plugin时遇到了一个老错误,尽管它会在构建时下载依赖项,但是在该命令上将不可用。

下次运行该命令时,一切正常(因为已经下载了所有内容),但是我需要找到一种方法来忽略第一个gradle命令的构建失败,以便下载所有内容,并且可以继续进行第二次操作。我意识到这很骇人,但是我搞砸了。

理想的情况是这样的:

./gradlew clean --ignoreBuildFailures
./gradlew distributeCIBuild

我在Gradle文档中可以找到的最接近的东西是–quite,但这似乎行不通。

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


问题答案:

要使用的标志是--continue

从文档中:

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



 类似资料:
  • 主要内容:Gradle如何使用Groovy,Groovy的JDK方法,以下是纠正/补充内容:Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个,产生的或发布一些归档文件库。 注:Gradle使用Groovy语言编写脚本。 Gradle提供了一个域特定语言

  • 我使用的是Unity 2019.3.3f1个人版,当我尝试构建64位时,我遇到了212个错误。我认为这是最重要的一个,所以我只是粘贴这些: 命令InvokationFailure: Gradle构建失败。C:/程序文件/统一/集线器/编辑器/2019.3.3f1/编辑器/数据/播放引擎/Android玩家\OpenJDK\bin\java.exe-classpath"C:\程序文件\统一\集线器\

  • 默认情况下, 只要有任务调用失败, Gradle就会中断执行. 这可能会使调用过程更快, 但那些后面隐藏的错误就没有办法发现了. 所以你可以使用 --continue 选项在一次调用中尽可能多的发现所有问题. 采用 --continue 选项, Gralde 会调用每一个任务以及它们依赖的任务. 而不是一旦出现错误就会中断执行.所有错误信息都会在最后被列出来. 一旦某个任务执行失败,那么所有依赖于

  • 我有一个时髦的脚本,可以推广代码。长话短说,我知道在那个脚本中的某个时间点它是否成功。如果不成功,我想使构建失败。有没有办法在时髦中失败构建? 示例: 在“执行 Groovy 脚本”插件中。您可以编写代码。 其中“checkPromote”根据升级的状态返回true或false值。

  • Gradle 是以 Groovy 语言为基础, 基于DSL (领域特定语言) 语法的自动化构建工具,但是它增加了一些额外的特性,这使得Gradle更加的容易去阐释构建. 一个构建脚本能够包含任何Groovy语言的元素 ( Any language element except for statement labels ), 每个构建脚本都使用UTF-8编码.

  • 我正在使用git、codebuild和elastic beanstalk构建一个CI/CD管道。 在代码构建执行期间,当由于测试用例的语法错误导致构建失败时,我看到代码构建进展到下一阶段,并最终继续生成工件。 我的理解是,如果构建失败,执行应该停止。这是正确的行为吗? 请参阅下面的buildspec。