pipeline {
    agent any
    
    stages {
        stage('SonarQube Scan') {
            steps {
                dir('/export/sonar-scanner/bin') {
                    sh './sonar-scanner -e -Dsonar.host.url=http://localhost:9000 -Dsonar.scm.disabled=true -Dsonar.language=java -Dsonar.projectName=ai-content-adapter -Dsonar.projectVersion=1.0.0 -Dsonar.projectKey=ai-content-adapter -Dsonar.sources=/export/jenkins/workspace/ai-content-adapter -Dsonar.projectBaseDir=/export/jenkins/workspace/ai-content-adapter -Dsonar.java.binaries=target/sonar -Dsonar.java.binaries=src'
                }
            }
        }
        
        stage('Send Email') {
            steps {
                script {
                    sh 'rm -f ${JOB_NAME}.pdf'
                    sh "wget http://192.168.180.251:9000/api/pdfreport/get?componentKey=${sonar_url} -O ${JOB_NAME}.pdf"
                    
                    sh 'echo "${JOB_NAME}-第${BUILD_NUMBER}次代码扫描报告" > mail.txt'
                    sh 'echo "项目名称:${JOB_NAME}" >> mail.txt'
                    sh 'echo "构建编号:第${BUILD_NUMBER}次构建" >> mail.txt'
                    sh 'echo "代码路径:${WORKSPACE}" >> mail.txt'
                    sh 'echo "构建日志:${BUILD_URL}consoleText" >> mail.txt'
                    sh 'echo "构建Url:${JOB_URL}" >> mail.txt'
                    sh "echo 'SonarQube-PDF报告下载地址:${BUILD_URL}artifact/${JOB_NAME}.pdf' >> mail.txt"
                    
                    sh "sudo mail -s '=?UTF-8?B?`echo ${JOB_NAME}第${BUILD_NUMBER}次代码扫描报告 | base64`?=' ${send1},${send2},${send3},${send4},${send5} < mail.txt"
                }
            }
        }
    }
}