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  }