Groovy 梯度任务执行
下面的gradle构建脚本Groovy 梯度任务执行,groovy,gradle,Groovy,Gradle,下面的gradle构建脚本 task hello << { println "task hello" } hello << { println "th" } 但一个人的订单反转导致了错误: * What went wrong: A problem occurred evaluating root project > Could not find property 'hello' on root project 这个错误是怎么回事
task hello << {
println "task hello"
}
hello << {
println "th"
}
但一个人的订单反转导致了错误:
* What went wrong:
A problem occurred evaluating root project
> Could not find property 'hello' on root project
这个错误是怎么回事?你能用Groovy的观点解释一下吗?代码可以用Java伪代码进行如下翻译:
Task task = project.addTask("hello");
task.doLast(() -> println("hello"));
task = project.getTaskByName("hello"); // works fine, because a task "hello" has bee added before
task.doLast(() -> println("th"));
如果你切换这两个操作,你会得到
Task task = project.getTaskByName("hello"); // doesn't work, because no task "hello" has been defined before
task.doLast(() -> println("th"));
task = project.addTask("hello");
task.doLast(() -> println("hello"));
很明显,由于您试图修改一个尚未定义的任务,这是行不通的。当然,如果您只是简单地交换这些代码段,那么第一个任务中就不会有“
任务”
”。
Task task = project.getTaskByName("hello"); // doesn't work, because no task "hello" has been defined before
task.doLast(() -> println("th"));
task = project.addTask("hello");
task.doLast(() -> println("hello"));