github.com/jaylevin/jenkins-library@v1.230.4/vars/mavenExecuteStaticCodeChecks.groovy (about) 1 import com.sap.piper.BuildTool 2 import com.sap.piper.ConfigurationLoader 3 import com.sap.piper.DownloadCacheUtils 4 import com.sap.piper.QualityCheck 5 import com.sap.piper.ReportAggregator 6 import groovy.transform.Field 7 8 import static com.sap.piper.Prerequisites.checkScript 9 10 @Field String METADATA_FILE = 'metadata/mavenExecuteStaticCodeChecks.yaml' 11 @Field String STEP_NAME = getClass().getName() 12 13 void call(Map parameters = [:]) { 14 final script = checkScript(this, parameters) ?: null 15 List credentials = [] 16 parameters = DownloadCacheUtils.injectDownloadCacheInParameters(script, parameters, BuildTool.MAVEN) 17 18 try { 19 piperExecuteBin(parameters, STEP_NAME, METADATA_FILE, credentials) 20 } catch (Exception exception) { 21 error("Maven Static Code Checks execution failed. Please examine the reports which are also available in the Jenkins user interface.") 22 } 23 finally { 24 showIssues(script) 25 } 26 } 27 28 private showIssues(Script script) { 29 Map configuration = ConfigurationLoader.stepConfiguration(script, STEP_NAME) 30 // Every check is executed by default. Only if configured with `false` the check won't be executed 31 if (!(configuration.spotBugs == false)) { 32 recordIssues(blameDisabled: true, 33 enabledForFailure: true, 34 aggregatingResults: false, 35 tool: spotBugs(pattern: '**/target/spotbugsXml.xml')) 36 37 ReportAggregator.instance.reportStaticCodeExecution(QualityCheck.FindbugsCheck) 38 } 39 if (!(configuration.pmd == false)) { 40 recordIssues(blameDisabled: true, 41 enabledForFailure: true, 42 aggregatingResults: false, 43 tool: pmdParser(pattern: '**/target/pmd.xml')) 44 ReportAggregator.instance.reportStaticCodeExecution(QualityCheck.PmdCheck) 45 } 46 }