import static com.orchard.CookbookUploader.*

def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()
  node(config.node_label) {
    // Wipe the workspace so we are building completely clean
    deleteDir()
    checkout scm

    stage('Cookbook upload') {
      if(env.BRANCH_NAME == 'master'){
        println "${env.BRANCH_NAME} detected - cookbook upload started."
        withEnv(['PATH+=/opt/chef/embedded/bin/']) {
        def jobBaseName = JOB_NAME.tokenize('/') as String[]
        ansiColor('xterm') {
          uploadCookbook (this, jobBaseName[1])
	  }
        }  
	 println "Cookbook upload finished."
      }
    }
  }
}
