gpt4 book ai didi

gradle - 确保Gradle Task始终运行,无论依赖项产生的结果如何

转载 作者:行者123 更新时间:2023-12-03 03:08:58 24 4
gpt4 key购买 nike

即使构建任务引发了可怕的错误,我如何确保下游的“验证”任务也能执行?

我希望所有这些可能的流程成为可能:

  • 建立->测试->验证
  • build(错误)->验证
  • build->测试(错误)->验证

  • 我发现的是, GradleException TaskExecutionException 导致句号停止而没有进一步的任务执行, StopActionException 不会阻止测试执行。

    样例代码:
    task build(){
    doFirst() {
    println "building..."
    throw new GradleException("Gradle exc")
    }
    }

    task test(){
    mustRunAfter 'build'
    doFirst() {
    println "testing..."
    }
    }


    task validate() {
    doFirst() {
    println "validating..."
    }
    }


    task buildPlan(dependsOn:[build,test]) {}
    buildPlan.finalizedBy(validate)

    最佳答案

    在这种情况下,“build”和“test”都必须是finalizedBy“validate”。不幸的是,如果“build”或“test”失败,则不会执行“buildPlan”任务,因此“validate”任务将永远不会运行。

    关于gradle - 确保Gradle Task始终运行,无论依赖项产生的结果如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34520298/

    24 4 0
    文章推荐: dart - flutter 返回首页
    文章推荐: javascript - 验证重新输入密码 javascript 代码需要更正
    文章推荐: javascript - 从不安全的浏览器调用安全的rest api安全吗?
    文章推荐: dart - 如何从 List 中获取具有编号的唯一对象列表