2014-02-13 20 views
3

我定義的gradle這個任務:gradles mustRunAfter似乎沒有工作

task makePretty(type: Delete) { 
    println "Make it pretty!" 
} 

我希望它在Android運行後組裝,並將此:

makePretty.mustRunAfter assemble 

Unfortunally任務似乎被執行每次我開始一個gradle組裝。

[email protected]_mac: ~/sources/xxx-Android ./gradlew assembleTest 
Parallel execution is an incubating feature. 
Make it pretty! 

搖籃任務執行:

:MyProject:compileDebugNdk UP-TO-DATE 
:MyProject:preBuild UP-TO-DATE 
:MyProject:preDebugBuild UP-TO-DATE 
:MyProject:preRcBuild UP-TO-DATE 
:MyProject:preReleaseBuild UP-TO-DATE 
:MyProject:preTestBuild UP-TO-DATE 
:MyProject:prepareComAndroidSupportAppcompatV71901Library UP-TO-DATE 
:MyProject:prepareDebugDependencies 
:MyProject:compileDebugAidl UP-TO-DATE 
:MyProject:compileDebugRenderscript UP-TO-DATE 
:MyProject:generateDebugBuildConfig UP-TO-DATE 
:MyProject:mergeDebugAssets UP-TO-DATE 
:MyProject:mergeDebugResources UP-TO-DATE 
:MyProject:processDebugManifest UP-TO-DATE 
:MyProject:processDebugResources UP-TO-DATE 
:MyProject:generateDebugSources UP-TO-DATE 
:MyProject:compileDebugJava UP-TO-DATE 
:MyProject:preDexDebug UP-TO-DATE 
:MyProject:dexDebug UP-TO-DATE 
:MyProject:processDebugJavaRes UP-TO-DATE 
:MyProject:validateDebugSigning 
:MyProject:packageDebug UP-TO-DATE 
:MyProject:zipalignDebug UP-TO-DATE 
:MyProject:assembleDebug UP-TO-DATE 

我gradle這個包裝是1.9版本。

我在做什麼錯了?我做錯了嗎?我該如何解決它?

+0

可能會有更多的預期行爲您可以顯示任務執行的順序,通過Gradle打印到控制檯? –

+0

我添加了gradle執行的任務。 – Ostkontentitan

+0

查看柔道的回答。他絕對是對​​的。 –

回答

3

看起來您在配置生命週期中正在執行您的println。如果你打這些'< <'

+0

他們做什麼?添加他們我根本沒有得到我的任務輸出。 – Ostkontentitan

+0

'<<'追加到任務中,以便在執行期間完成。不添加它們意味着* println *將在配置任務期間完成。如果您執行** gradle任務**,也可能會打印。如果你不填寫任何*刪除*,似乎你的任務總是最新的?這可以幫助:任務makePretty(類型:刪除){刪除'uglyFolder'; doLast {println「現在很漂亮!」}} – judoole

+0

不幸的是,還沒有println發生 – Ostkontentitan