zoukankan      html  css  js  c++  java
  • Gradle Goodness: Display Available Tasks

    To see which tasks are available for our build we can run Gradle with the command-line option -t or --tasks. Gradle outputs the available tasks from our build script. By default only the tasks which are dependencies on other tasks are shown. To see all tasks we must add the command-line option --all.

    00.3.times { counter ->
    01.task "lib$counter" {
    02.description = "Build lib$counter"
    03.if (counter > 0) {
    04.dependsOn = ["lib${counter - 1}"]
    05.}
    06.}
    07.}
    08. 
    09.task compile {
    10.dependsOn {
    11.project.tasks.findAll {
    12.it.name.startsWith('lib')
    13.}
    14.}
    15.description = "Compile sources"
    16.}
    $ gradle -q -t
     
    ------------------------------------------------------------
    Root Project
    ------------------------------------------------------------
     
    Tasks
    -----
    :compile - Compile sources
    $ gradle -q --tasks -all
     
    ------------------------------------------------------------
    Root Project
    ------------------------------------------------------------
     
    Tasks
    -----
    :compile - Compile sources
    :lib0 - Build lib0
    :lib1 - Build lib1
    :lib2 - Build lib2

    But if we add our tasks to a group, we get even more verbose output. Gradle will group the tasks together and without the --all option we get to see all tasks belonging to the group, even those that are dependency tasks. And with the --all option we see for each task on which tasks it depends on. So by setting the group property on the task we get much better output when we ask Gradle about the available tasks.

    00.3.times { counter ->
    01.task "lib$counter" {
    02.description = "Build lib$counter"
    03.if (counter > 0) {
    04.dependsOn = ["lib${counter - 1}"]
    05.}
    06.}
    07.}
    08. 
    09.task compile {
    10.dependsOn {
    11.project.tasks.findAll {
    12.it.name.startsWith('lib')
    13.}
    14.}
    15.description = "Compile sources"
    16.}
    17. 
    18.tasks*.group = 'Compile'
    $ gradle -q -t
     
    ------------------------------------------------------------
    Root Project
    ------------------------------------------------------------
     
    Compile tasks
    -------------
    :compile - Compile sources
    :lib0 - Build lib0
    :lib1 - Build lib1
    :lib2 - Build lib2
    $ gradle -q --tasks -all
     
    ------------------------------------------------------------
    Root Project
    ------------------------------------------------------------
     
    Compile tasks
    -------------
    :compile - Compile sources [:lib0, :lib1, :lib2]
    :lib0 - Build lib0
    :lib1 - Build lib1 [:lib0]
    :lib2 - Build lib2 [:lib1]
  • 相关阅读:
    图文详解 Android Binder跨进程通信机制 原理
    支链氨基酸怎么吃
    C#泛型约束
    树状结构 Tree data structure in C#
    wrap ConcurrentDictionary in BlockingCollection
    ConcurrentBag扩展 批量加入
    Dictionary GetOrAdd
    ConcurrentDictionary AddOrUpdate
    object pool
    C# 结构体定义 转换字节数组 z
  • 原文地址:https://www.cnblogs.com/GoAhead/p/4189111.html
Copyright © 2011-2022 走看看