pipeline {
    agent none

    options {
          timeout(time: 30, activity: true, unit: 'HOURS')
          buildDiscarder(logRotator(numToKeepStr:'15', artifactNumToKeepStr: '2' ))
          disableConcurrentBuilds()
    }

    stages {
        stage('Jersey build') {
            parallel {
//                stage('JDK 17') {
//                    agent {
//                        label 'centos-7'
//                    }
//                    tools {
//                        jdk 'openjdk-jdk17-latest'
//                        maven 'apache-maven-latest'
//                    }
//                    steps {
//                        sh '''
//                                bash ${WORKSPACE}/etc/jenkins/jenkins_build.sh
//                            '''
//                    }
//                }
                stage('JDK 21') {
                    agent {
                        label 'centos-7'
                    }
                    tools {
                        jdk 'openjdk-jdk21-latest'
                        maven 'apache-maven-latest'
                    }
                    steps {
                        sh '''
                                bash ${WORKSPACE}/etc/jenkins/jenkins_build.sh
                                export EXCLUDE_ARGS=' -pl !:configured-client '
                                bash ${WORKSPACE}/etc/scripts/validation/dependency-convergence.sh
                            '''
                    }
                }
            }
        }
    }
}
