def MAVEN_IMAGE = 'maven:3.8.2-openjdk-11-slim'

pipeline {
    // agent any

    agent {
        docker {
            image "${MAVEN_IMAGE}"
        }
    }

    environment {
        BRANCH_NAME = env.GIT_BRANCH.replace('origin/', '')
    }

    stages {
        stage('Build') {
            // agent {
            //     docker {
            //         image "${MAVEN_IMAGE}"
            //     }
            // }
            steps {
                git 'https://forge.bayhan.ca/mali/sonarqubejava'
                sh 'mvn -Dmaven.test.failure.ignore=true clean package'
            }

            post {
                success {
                    junit '**/target/surefire-reports/TEST-*.xml'
                    archiveArtifacts 'tests/target/*.jar'
                }
            }
        }

        stage('Static Code Analysis') {
            // maven:start
            // agent {
            //     docker {
            //         image "${MAVEN_IMAGE}"
            //     }
            // }

            steps {
                withSonarQubeEnv('cicd') {
                    echo '################# MAVEN ###################'
                    sh 'mvn sonar:sonar'
                    echo '############### MAVEN END #################'
                }
            }

        // maven:end
        }

        // stage('Pact'){

        //     // agent {
        //     //     docker {
        //     //         image "${MAVEN_IMAGE}"
        //     //     }
        //     // }

    //     steps{
    //         sh 'mvn pact:publish -Dpact.consumer.version=${GIT_COMMIT} -Dpact.tag=${BRANCH_NAME}'
    //     }
    // }
    }
}
