def call()

in vars/asfStandardBuild.groovy [33:95]


def call(Map params = [:]) {
  // Faster build and reduces IO needs
  properties([
    disableConcurrentBuilds(),
    durabilityHint('PERFORMANCE_OPTIMIZED'),
    buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '3'))
  ])

  // now determine params
  def jdk = params.containsKey('jdk') ? params.jdk : 'jdk_11_latest'
  // use the cmdLine parameter otherwise default depending on current branch
  def cmdline = params.containsKey('cmdline') ? params.cmdline : ((env.NONAPACHEORG_RUN != 'y' && env.BRANCH_NAME == 'master') ?"clean deploy":"clean install")
  def mvnName = params.containsKey('mvnName') ? params.mvnName : 'maven_3.8.6'


  def defaultPublishers = [artifactsPublisher(disabled: false), junitPublisher(ignoreAttachments: false, disabled: false),
                          findbugsPublisher(disabled: true), openTasksPublisher(disabled: true),
                           dependenciesFingerprintPublisher(disabled: true), invokerPublisher(disabled: true),
                            pipelineGraphPublisher(disabled: true), mavenLinkerPublisher(disabled: true)]

  def publishers = params.containsKey('publishers') ? params.publishers : defaultPublishers


  pipeline {
    agent {
      node {
        label 'ubuntu'
      }
    }
    stages{
      stage("Build"){
        agent { node { label 'ubuntu' } }
        options { timeout(time: 120, unit: 'MINUTES') }
        steps{
          mavenBuild( jdk, cmdline, mvnName, publishers)
        }
      }
    }
    post {
      always {
        cleanWs() // deleteDirs: true, notFailBuild: true, patterns: [[pattern: '**/.repository/**', type: 'INCLUDE']]
      }
      unstable {
        script{
          notifyBuild( "Unstable Build ")
        }
      }
      failure {
        script{
          notifyBuild( "Error in build ")
        }
      }
      success {
        script {
          def previousResult = currentBuild.previousBuild?.result
          if (previousResult && !currentBuild.resultIsWorseOrEqualTo( previousResult ) ) {
            notifyBuild( "Fixed" )
          }
        }
      }
    }
  }
}