仅在 Gradle 中的条件下执行 task.dependsOn
Execute task.dependsOn only on a Condition in Gradle
我有两个任务Task-A
和Task-B
这是我的任务-A
task Task-A () {
doLast {
def fileName = _.property('fileName')
if (fileName !=null) {
println 'success'
}
}
}
我的Task-B依赖于Task-A,我应该让它只依赖于_.property('fileName')
应该存在并且不应该为空的条件
所以我这样写了我的 Task-B
task Task-B () {
doFirst {
def fileName = _.property('fileName')
if (fileName !=null) {
dependsOn 'Task-A'
}
}
}
它抛出一个错误
Cannot call Task.dependsOn(Object...) on task ':Task-B' after task has started execution.
如何在条件下执行dependsOn
?
您必须在配置阶段设置 dependsOn
指令
尝试:
task Task-B () {
def fileName = _.property('fileName')
if (fileName !=null) {
dependsOn 'Task-A'
}
}
我有两个任务Task-A
和Task-B
这是我的任务-A
task Task-A () {
doLast {
def fileName = _.property('fileName')
if (fileName !=null) {
println 'success'
}
}
}
我的Task-B依赖于Task-A,我应该让它只依赖于_.property('fileName')
应该存在并且不应该为空的条件
所以我这样写了我的 Task-B
task Task-B () {
doFirst {
def fileName = _.property('fileName')
if (fileName !=null) {
dependsOn 'Task-A'
}
}
}
它抛出一个错误
Cannot call Task.dependsOn(Object...) on task ':Task-B' after task has started execution.
如何在条件下执行dependsOn
?
您必须在配置阶段设置 dependsOn
指令
尝试:
task Task-B () {
def fileName = _.property('fileName')
if (fileName !=null) {
dependsOn 'Task-A'
}
}