Мне нужно передать замыкание в качестве аргумента другому замыканию, не уверенный, должно ли работать сработанное ниже или как заставить его работать
Closure Build(String imageName, String testCommand){
Closure testImage = { imageName ->
sh('''cd ''' + dir + ''' \
&& if make image ''' + imageName''' 2>&1 | grep -m 1 "No rule to make target"; then exit 1; fi''',
returnStatus: true
)
}
Closure runTests = { imageName ->
makeResult = runWithCommand(imageName, testImage(imageName))
if (makeResult != 0) {
runWithCommand(imageName, testCommand)
}
}
}
def runWithCommand(image_ref, t_command) {
sh'''#!/bin/bash
docker run --rm -i '''image_ref ''' /bin/bash -c \'''' + t_command + '''\'
'''
}
В приведенном выше коде testImage является закрытием, которое передается к другой функции в groovy, не уверен, что это правильный путь и он работает?