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 1ネストされたタスク ( 、task 2、など) をユーザーに公開したくありません。fooタスクを公開したいだけです。

4

2 に答える 2

4

次のように簡単に実行できるようです。

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

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

where<<は の省略形です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 に答える