Я не верю, что вы можете достичь этого, вам нужно немного изменить свой dsl, чтобы иметь возможность собирать эту информацию. Вот как можно этого добиться:
class Foo {
static plan = {
vplan_testing {
dir 'global_storage'
}
}
}
def closure = Foo.plan
closure.delegate = this
closure()
def methodMissing(String name, Object args) {
println "$name $args"
if(args[0] instanceof Closure)
args[0].call()
}
Выход будет
dir [global_storage]
или вы могли бы определить ваш dsl следующим образом:
class Foo {
static plan = {
vplan_testing {
test dir:'global_storage'
}
}
}
замените «тест» чем-то значимым для вашего домена. В этом случае вывод будет
test [[dir: global_storage]]
Надеюсь, это поможет
1021 * Кен *