Как мне передать Warnings Next Generation Plugin список строк, которые активируют парсеры?
Я хочу иметь общий метод в моей общей библиотеке, который выглядит следующим образом
def withWarningNG(def listOfParsers, closure) {
def result
try {
result = closure()
} finally {
recordIssues(tools: listOfParsers)
}
return result
}
// And use it in various Jenkinsfiles thus:
node() {
mySharedLibVar.withWarningNG(['gcc', 'java']) {
... do something ...
}
Это гарантирует, что мы всегда будем пытаться запустить парсеры, даже если модульные тесты не пройдут сборку. Я понимаю, что парсеры не запускаются при ошибке компиляции.
Я знаю, что мог бы сделать это через Декларативный конвейер. Тем не менее, различные процедуры, которые мы используем, ведут себя неправильно, когда мы пытаемся такой подход. По мере того как мы переносим больше логики сборки в декларацию sharedLibrary, она может стать более полезной. В настоящее время я хотел бы сделать это в стандартном конвейере.