【发布时间】:2019-08-22 10:09:52
【问题描述】:
我在 build.gradle 中有一些代码
test {
doFirst {
def profile = System.getenv("...")
if (profile == "dev") {
println "1: if start"
// ...
println "2: if end"
}
}
}
最后一行 ("2: if end") 仍然执行,即使配置文件不是 "dev"
看起来 groovy 并不关心代码结构:它简单地返回最后一行作为闭包的结果
因为如果我将代码修改为:
test {
doFirst {
def profile = System.getenv("...")
if (profile == "dev") {
println "1: if start"
// ...
println "2: if end"
}
println "3: after if"
}
}
然后,这样,如果配置文件不是“dev”,那么一切正常 - 在检查语句 groovy 后执行“3: after if”
这是错误还是功能? :)
【问题讨论】:
-
我相信这是 Gradle 而不是纯粹的 groovy。
-
我也相信提供的代码不会发生这种情况......这是在调试器中吗?
-
是的,这仅在调试器中,抱歉.. (
-
它没有运行该行,这是调试器的问题