我有依賴於installDist
自定義任務 - 不僅執行,還對installDist
輸出:依賴其他任務輸出的Gradle任務?
project.task('run', type: JavaExec, dependsOn: 'installDist', overwrite: true) {
def libdir = new File("$project.tasks.installDist.destinationDir/lib")
...
它發生第一次運行時,該libdir
不趕的installDist
目的地目錄,因爲Gradle的工作原理。由於我需要使用libdir
來執行我的任務,我該如何等待installDist完成,然後運行我的任務?
我知道我可以在我的任務之前明確運行installDist
,但我只想在clean
之後運行我的任務。
其實'doFirst'是解決方案。我知道doLast,但這不會工作,因爲我需要在任務執行前使用lib dir,而不是之後。你能否更新評論以便我可以將其標記爲 – igr
@игор嗯,好吧,你剛剛在doFirst中調用installDist? –
不,只是在'def libdir'塊中使用了doFirst。沒有顯式調用javaexec – igr