pipeline { agent any tools { maven '3.9.6' } stages { stage('Setup') { steps { sh "chmod +x -R ${env.WORKSPACE}" } } stage ('Check Environment') { steps { sh 'mvn --version' sh 'java -version' } } stage('Build (Engine)') { steps { sh 'mvn -B -DskipTests clean package' } } stage('Build (Documentation)') { steps { sh 'cd ./docs && doxygen ./Doxyfile' } } stage('Test') { steps { wrap( [ $class: 'Xvfb', additionalOptions: '', assignedLabels: '', autoDisplayName: true, debug: true, displayNameOffset: 0, installationName: 'Default', parallelBuild: true, screen: '1920x1080x24', timeout: 25 ] ) { sh 'mvn test' } } post { always { junit 'target/surefire-reports/*.xml' } } } } }