Gradle:当任务链接在一起时,还运行前任务和后任务吗?

时间:2018-12-20 17:34:33

标签: gradle build build.gradle

假设本文末尾的build.gradle

如果我运行任务WorkA WorkB,我将得到:

> Task :preTask
PreTask
> Task :WorkB (or A)
WorkB (or A)
> Task :finishTask
FinishTask

但是,如果运行任务allWork前置任务和结束任务仅执行一次!该如何解决?

> Task :preTask
PreTask
> Task :WorkA
WorkA
> Task :WorkB
WorkB
> Task :finishTask
FinishTask
> Task :AllWork
Combined

build.gradle

task preTask { 
  doFirst { 
     println "PreTask"
  }
}

task finishTask {
  doFirst { 
    println "FinishTask"
  }
}

task WorkA {
  dependsOn preTask
  mustRunAfter preTask
  finalizedBy finishTask
  doFirst { 
   println "WorkA"  
 }
}

task WorkB {
  dependsOn preTask
  mustRunAfter preTask
  finalizedBy finishTask
  doFirst { 
   println "WorkB"  
 }
}

task AllWork {
  dependsOn WorkA
  dependsOn WorkB
  WorkB.mustRunAfter WorkA
  doFirst { 
   println "Combined"  
 }
}

0 个答案:

没有答案