Я попытался разобрать с ConfigSlurper что-то вроде этого:
config {sha=[{from = 123;to = 234},{from = 234;to = 567}]}
Массив "ша" был далек от ожидаемого.
Чтобы получить "sha" как массив объектов ConfigObjects, я использовал помощник:
class ClosureScript extends Script {
Closure closure
def run() {
closure.resolveStrategy = Closure.DELEGATE_FIRST
closure.delegate = this
closure.call()
}
}
def item(closure) {
def eng = new ConfigSlurper()
def script = new ClosureScript(closure: closure)
eng.parse(script)
}
таким образом я получаю массив объектов ConfigObjects:
void testSha() {
def config = {sha=[item {from = 123;to = 234}, item {from = 234;to = 567}]}
def xx = item(config)
assertEquals(123, xx.sha[0].from)
}