2012-09-12 40 views
4

是否有可能在鳥巢的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任務被暴露。

回答

3

有沒有辦法在搖籃只露出選定的任務(嚴格意義上的)。但是,有一種方法只能在gradle tasks中顯示選定的任務。除非使用--all標誌,否則gradle tasks將僅顯示「根」任務(即沒有其他任務依賴的任務)和屬性設置爲group的任務。

3

看起來你只需做到以下幾點,

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

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

其中<<是簡寫doLast。我認爲關於這種方法的巧妙之處在於只有foo被暴露出來。嵌套任務對最終用戶保持隱藏。如果你執行foo,你會得到

First 
Second 
Third 
+3

這裏最好使用'doLast'而不是'foo <<'。你在這裏鏈接的是任務_actions_。這與鏈接任務不同,但根據您的需求可以是正確的工具。 –

+0

@PeterNiederwieser,感謝您澄清有關即時鏈接任務操作而不是任務的事實! :d – user1329572