我正在做一個需要調用一些其他任務的Gradle任務。Gradle任務按順序調用其他任務
這是我有:
task ci(dependsOn: [
clean,
build,
test
])
奇怪的是輸出我看到:
gradle ci
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:clean // cleaning after the build
:build
:ci
注意,該清潔構建目標,其中打掉我生成後發生。
如果我改變我的任務:
task ci(dependsOn: [
clean,
test
])
然後,它會出現在正確的順序來執行:
:clean UP-TO-DATE // cleaning before the build
:compileJava
:processResources UP-TO-DATE
:classes
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:ci UP-TO-DATE
我試圖通過添加build.dependsOn乾淨固定原定目標,但這似乎沒有影響。
任何幫助表示讚賞。
我已經嘗試過這種方法,但我不喜歡它,因爲它引入了人爲依賴。過去,我遇到了問題,使訂單成爲我所需要的。我發現這個線程中別處概述的「別名」方法效果更好(並且不引入人爲依賴) – Lance