Два вложенных Groovy замыкания - ищите более чистый синтаксис - PullRequest
0 голосов
/ 11 января 2019

Я не знаком с синтаксисом Groovy, но потратил немного времени на изучение этого. Я работаю с Jenkinsfile, и у меня есть раздел, который выглядит так:

configFileProvider([/* ... */]) {
  withCredentials([/* ... */]) {
    sh 'my command'
  }
}

Включает ли синтаксис Groovy более короткое выражение этой же логики? Я не фанат отступов здесь.

1 Ответ

0 голосов
/ 12 января 2019

Вы можете назначить любое замыкание переменной и передать его. Таким образом, вы можете рефакторинг:

def shCommand = { withCredentials([...]) {
  sh 'my command'
}}
configFileProvider([...], shCommand)

или

def shCommand = {
  sh 'my command'
}
configFileProvider([...]) {
  withCredentials([...], shCommand)
}
...