zoukankan      html  css  js  c++  java
  • Gradle Goodness: Continue Build Even with Failed Tasks

    If we run a Gradle build and one of the tasks fails, the whole build stops immediately. So we have fast feedback of our build status. If we don't want to this and want Gradle to execute all tasks, even though some might have failed, we use the command line option --continue. When we use the --continue command line option Gradle will execute every task where the dependent tasks are not failing. This is also useful in a multi-module project where we might want to build all projects even though some may have failing tests, so we get a complete overview of failed tests for all modules.

    In the following Gradle build file we have two tasks. The task failTask throws a TaskExecutionException to purposely fail the task. The successTask will not fail:

    00.task failTask << { task ->
    01.println "Running ${task.name}"
    02. 
    03.throw new TaskExecutionException(
    04.task,
    05.new Exception('Fail task on purpose'))
    06.}
    07. 
    08.task successTask << {
    09.println "Running ${it.name}"
    10.}

    Let's run both tasks from the command line and see the output:

    $ gradle failTask successTask
    :failTask
    Running failTask
    :failTask FAILED
     
    FAILURE: Build failed with an exception.
     
    * Where:
    Build file '/Users/mrhaki/samples/gradle/continue/build.gradle' line: 4
     
    * What went wrong:
    Execution failed for task ':failTask'.
    > Fail task on purpose
     
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
     
    BUILD FAILED
     
    Total time: 4.148 secs
    $

    We see the build has failed and only the task failTask is executed. Now we run the same two tasks, but we use the command line option --continue:

    $ gradle --continue failTask successTask
    :failTask
    Running failTask
    :failTask FAILED
    :successTask
    Running successTask
     
    FAILURE: Build failed with an exception.
     
    * Where:
    Build file '/Users/mrhaki/samples/gradle/continue/build.gradle' line: 4
     
    * What went wrong:
    Execution failed for task ':failTask'.
    > Fail task on purpose
     
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
     
    BUILD FAILED
     
    Total time: 6.918 secs
    $

    This time the successTask is executed even though the failTask has failed again. Gradle will keep track of all tasks that have failed and displays a summary with all the tasks that have failed.

    Written with Gradle 2.2.1

  • 相关阅读:
    php记录代码执行时间
    TortoiseSVN教程级别指南
    有些 where 条件会导致索引无效
    mysql优化
    SQL优化方法
    mysql服务性能优化 my.cnf my.ini配置说明详解(16G内存)
    mysql慢查询设置
    javascript和php使用ajax通信传递JSON
    PHP导出大量数据到excel表格
    核心支付业务
  • 原文地址:https://www.cnblogs.com/GoAhead/p/4187479.html
Copyright © 2011-2022 走看看