#!groovy
import groovy.json.JsonSlurper

@Library('jenkins-scripts@develop') _


pipeline {

  agent { label "linux-slave-edu" }

  options {
    buildDiscarder(logRotator(numToKeepStr:'5'))
    timeout(time:2, unit: 'HOURS')
	  timestamps()
  }

  environment {
    TF_VAR_ARTIFACTORY_APIKEY    = credentials('TF_VAR_ARTIFACTORY_APIKEY')
    TF_VAR_ARTIFACTORY_URL       = credentials('TF_VAR_ARTIFACTORY_URL')
    TF_VAR_ARTIFACTORY           = credentials('BARCO_USER')
    NPM_USER                     = credentials('NPM_USER')
    GPG_PRIVATE_KEY_PATH         = credentials('BASEOS_BUILDER_PRIVATE_KEY_EDU')
    BASEOS_PRIVATE_KEY_FILE      = credentials('BASEOS_PRIVATE_KEY_EDU_FILE')
    BIN_BARCO_COM_APIKEY         = credentials('BIN_BARCO_COM_APIKEY')
    USER_NAME_BASEOS             = credentials('EDU_USER_BASEOS')
    GPG_PRIVATE_NRC_KEY          = credentials('NRC_GPG_PRIVATE_KEY_KORDBLD01')
    MB_USER                      = credentials('EIS_MB_USER')
    MB_PWD                       = credentials('EIS_MB_PWD')
  }

  stages {
    stage ('Start') {
      steps {
        script{
          notifyStash('STARTED')
      	}
     }
    }
    stage ('env') {
      steps {
        sh 'make env'
      }
    }

    stage ('package') {
      steps {
        sh 'make package'
      }
    }


    stage ('lintian') {
          steps {
            sh 'make lintian'
          }
    }

    stage ('publish'){
      steps {
        sh 'make publish'
      }
    }

    stage ('Install on repomanager') {
       when { branch "debian/*" }
       steps {
         script {
           triggerBosDefinitions()
         }
       }
     }

  }
 post {
    always {
      script{
         notifyStash(currentBuild.result)
      }
    }
  }
}
