Удаление первых двух аргументов для buildFromString
решило проблему:
import org.codehaus.groovy.ast.builder.AstBuilder;
def filePath = "/Users/ashleyconnor/Projects/Jenkins/Jenkinsfile"
def file = new File(filePath)
def ast = new AstBuilder().buildFromString(file.text)
println(ast)
Вывод:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script200423567329429.groovy: 3: unable to resolve class Library , unable to find class for annotation
@ line 3, column 1.
@Library('github.com/fabric8io/fabric8-pipeline-library@master')
^
Script200423567329429.groovy: 5: unable to resolve class io.fabric8.Utils
@ line 5, column 13.
def utils = new io.fabric8.Utils()
^
2 errors
Изменение Jenkinsfile
на println("Hello World")
приводит к AST:
[org.codehaus.groovy.ast.stmt.BlockStatement@d9f41[org.codehaus.groovy.ast.stmt.ReturnStatement@e8fd7[expression:org.codehaus.groovy.ast.expr.MethodCallExpression@e8fd7[object: org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] method: ConstantExpression[println] arguments: org.codehaus.groovy.ast.expr.ArgumentListExpression@eadde[ConstantExpression[Hello world]]]]]]
Хотя наличие всех зависимых библиотек, доступных локально, непрактично для того, что я пытаюсь сделать.