如何始终在任务A之后运行gradle任务B

如何始终在任务A之后运行gradle任务B,gradle,task,Gradle,Task,有人知道如何让B始终在A之后运行,即使我只在命令行上使用“gradle A”?我的第一个想法是可以使用mustRunAfter,但这似乎需要我在命令行上指定B task A << { println 'A' } task B << { println 'B' } task A您需要在Gradle任务中使用dependsOn功能 例如:如果你运行“gradle OhoWorldTask”,它总是首先调用myHelloTask来回应“hello” //打招

有人知道如何让B始终在A之后运行,即使我只在命令行上使用“gradle A”?我的第一个想法是可以使用mustRunAfter,但这似乎需要我在命令行上指定B

task A << {
    println 'A'
}

task B << {
    println 'B'
}

task A您需要在Gradle任务中使用dependsOn功能

例如:如果你运行“gradle OhoWorldTask”,它总是首先调用myHelloTask来回应“hello”

//打招呼

任务myHelloTask()完成此任务的(唯一)方法(不包括黑客)是
A由B完成
。请注意,即使
A
失败,该任务也将运行
B

task B如果您运行
gradle-ohohWorldTask
这将有效,但OP希望它在运行
gradle-myHelloTask
时有效。这就是为什么我说ohohWorldTask(作为其名称),在这种情况下,他可以在myHelloTask或A中使用doFirst{…}。感谢您捕捉到它。
// Say hello
task myHelloTask() << {
   println "hello"
}


// Say world
//task ohohWorldTask( dependsOn: [ myHelloTask ] ) << {
//or - using the above you can specify multiple tasks comma separated within [ aTask, bTask, cTask ]

task ohohWorldTask( dependsOn: myHelloTask ) << {
  println "-- World!"
}