如果Task B dependsOn Task A
不能成为我的代码,如何将代码添加到Task B
中,该代码始终作为整个链的第一部分首先执行?
正在输出以下代码段
> Task :A
A doFirst
A doLast
> Task :B
B doFirst
B doLast
但是所需的输出是:
> Task :B
I AM going to set some variables/checks, pre A and pre B
> Task :A
A doFirst
A doLast
> Task :B
B doFirst
B doLast
确实是唯一的方法,它引入了要执行的Task C 优先于A(B取决于C,A.mustRunAfter C),以便它在链中排在第一位?
等级:
task A {
doFirst {
println("A doFirst")
}
doLast {
println("A doLast")
}
}
task B {
dependsOn A
/* doInitialize {
println("I AM going to set some variables/checks, pre A and pre B")
}*/
doFirst {
println("B doFirst")
}
doLast {
println("B doLast")
}
}
答案 0 :(得分:1)
您可以尝试在构建的配置阶段运行初始化逻辑。您只需要指定任务,如下所示:
task B {
dependsOn A
println("I AM going to set some variables/checks, pre A and pre B")
doFirst {
println("B doFirst")
}
doLast {
println("B doLast")
}
}
在这种情况下,println("I AM going to set some variables/checks, pre A and pre B")
在实际任务开始执行之前在配置阶段执行。