github.com/jaylevin/jenkins-library@v1.230.4/vars/piperPipelineStageMavenStaticCodeChecks.groovy (about) 1 import com.sap.piper.ConfigurationHelper 2 import com.sap.piper.GenerateDocumentation 3 import com.sap.piper.StageNameProvider 4 import com.sap.piper.Utils 5 6 import static com.sap.piper.Prerequisites.checkScript 7 8 import groovy.transform.Field 9 10 @Field String STEP_NAME = getClass().getName() 11 @Field String TECHNICAL_STAGE_NAME = 'mavenExecuteStaticCodeChecks' 12 13 @Field STAGE_STEP_KEYS = [ 14 /** Executes static code checks for Maven based projects. The plugins SpotBugs and PMD are used. */ 15 'mavenExecuteStaticCodeChecks' 16 ] 17 @Field Set GENERAL_CONFIG_KEYS = [] 18 @Field Set STEP_CONFIG_KEYS = GENERAL_CONFIG_KEYS.plus(STAGE_STEP_KEYS) 19 @Field Set PARAMETER_KEYS = STEP_CONFIG_KEYS 20 21 /** 22 * Execute static code checks for Maven based projects. 23 * 24 */ 25 @GenerateDocumentation 26 void call(Map parameters = [:]) { 27 final script = checkScript(this, parameters) ?: null 28 def utils = parameters.juStabUtils ?: new Utils() 29 def stageName = StageNameProvider.instance.getStageName(script, parameters, this) 30 31 Map config = ConfigurationHelper.newInstance(this) 32 .loadStepDefaults() 33 .mixinGeneralConfig(script.commonPipelineEnvironment, GENERAL_CONFIG_KEYS) 34 .mixinStageConfig(script.commonPipelineEnvironment, stageName, STEP_CONFIG_KEYS) 35 .mixin(parameters, PARAMETER_KEYS) 36 .addIfEmpty('mavenExecuteStaticCodeChecks', script.commonPipelineEnvironment.configuration.runStep?.get(stageName)?.mavenExecuteStaticCodeChecks) 37 .use() 38 39 piperStageWrapper(stageName: stageName, script: script) { 40 41 // telemetry reporting 42 utils.pushToSWA([step: STEP_NAME], config) 43 44 if (config.mavenExecuteStaticCodeChecks) { 45 mavenExecuteStaticCodeChecks(script: script) 46 } 47 } 48 }