我有一个依赖于的自定义任务installDist- 不仅用于执行,还用于installDist输出:
project.task('run', type: JavaExec, dependsOn: 'installDist', overwrite: true) {
def libdir = new File("$project.tasks.installDist.destinationDir/lib")
...
Run Code Online (Sandbox Code Playgroud)
碰巧当第一次运行时,由于Gradle的工作方式,libdir它不会捕获目标目录installDist.由于我需要libdir用于我的任务,我如何等待installDist完成,然后运行我的任务?
我知道我可以installDist在我的任务之前明确地运行,但我想要在完成之后运行我的任务clean.
在@Ben Greens回答之后,我想:
project.task('run', type: JavaExec, dependsOn: 'installDist', overwrite: true) {
doFirst {
def libdir = new File("$project.tasks.installDist.destinationDir/lib")
...
Run Code Online (Sandbox Code Playgroud)
所以这发生在我的任务执行之前,但是在installDist执行之后.
| 归档时间: |
|
| 查看次数: |
1442 次 |
| 最近记录: |