5

是否可以在gradle中嵌套任务,例如

task foo(dependsOn: jar){
    // task 1
    // task 2
    // task 3
    .
    .
    .
    // task n
}

执行顺序是jar> foo> task 1> task 2> task 3> ... > task n?我不希望将嵌套任务(即task 1task 2等)暴露给用户。我只希望foo暴露任务。

4

2 回答 2

4

看起来您可以简单地执行以下操作,

task foo(dependsOn: ['clean', 'jar']){
    foo << {
        println "First"
    }
    foo << {
        println "Second"
    }

    foo << {
        println "Third" 
    }
    .
    .
    .
}

<<的简写在哪里doLast。我认为这种方法的巧妙之处在于它只foo被暴露了......嵌套的任务对最终用户仍然是隐藏的。如果你执行foo,你会得到

First
Second
Third
于 2012-09-12T17:24:00.153 回答
3

Gradle 中没有办法只公开选定的任务(严格意义上)。但是,有一种方法可以仅在gradle tasks. 除非--all使用该标志,gradle tasks否则只会显示“根”任务(即没有其他任务依赖的任务)和group设置了属性的任务。

于 2012-09-12T17:37:04.933 回答