/*
* Licensed Materials - Property of IBM* and/or HCL**
* UrbanCode Deploy
* UrbanCode Build
* UrbanCode Release
* AnthillPro
* (c) Copyright IBM Corporation 2011, 2017. All Rights Reserved.
* (c) Copyright HCL Technologies Ltd. 2020. All Rights Reserved.
*
* U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by
* GSA ADP Schedule Contract with IBM Corp.
*
* * Trademark of International Business Machines
* ** Trademark of HCL Technologies Limited
*/

import com.urbancode.air.AirPluginTool
import com.urbancode.air.plugin.openshift.OpenShiftHelper

// Get step properties
def apTool   = new AirPluginTool(args[0], args[1])
def inProps  = apTool.getStepProperties()

String url          = inProps['url']?.trim()
String username     = inProps['username']?.trim()
String password = inProps['password']
String token        = inProps['token']
String insecure     = inProps['insecure']
String home         = inProps['home']?.trim()
String project      = inProps['project']?.trim()
String flags        = inProps['flags']?.trim();
String certificateAuthority = inProps['certificateAuthority']?.trim()

// Set up helper
File workDir = new File(".").canonicalFile
OpenShiftHelper osh = new OpenShiftHelper(workDir, home)

if (!url && !username && !password && !token && !certificateAuthority) {
    println('[Error] The step requires at least one of the parameters to login to the Openshift server')
    System.exit(1)
}

osh.login(url, username, password, token, insecure.toBoolean(), certificateAuthority, flags)
osh.setProject(project, flags)
