pipeline {
	agent any

	options {
		ansiColor('xterm')
	}

	stages {
		stage('Build') {
			steps {
				sh 'mvn -DskipTests clean package'
			}
		}
		stage('Test') {
			steps {
				sh 'mvn test'
			}
			post {
				always {
					junit '*/target/surefire-reports/*.xml'
				}
			}
		}
		stage('SonarQube Analysis') {
			when {
				branch 'develop'
			}
			steps {
				withSonarQubeEnv('KSKE SonarQube') {
					sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar'
				}
			}
		}
	}
	post {
		success {
			archiveArtifacts artifacts: '*/target/undo-redo-*.jar'
		}
	}
}