<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed Materials - Property of IBM* and/or HCL**
- IBM UrbanCode Deploy
- (c) Copyright IBM Corporation 2011, 2017. All Rights Reserved.
- (c) Copyright HCL Technologies Ltd. 2018. 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
-->
<plugin xmlns="http://www.urbancode.com/PluginXMLSchema_v1"
        xmlns:server="http://www.urbancode.com/PluginServerXMLSchema_v1"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <header>
    <identifier id="com.ibm.rational.Worklight" name="IBM MobileFirst" version="13"/>
    <description>
        Provides support for deploying mobile application artifacts to an IBM MobileFirst Server.
        Refer to the worklight_plugin.pdf file embedded in the plug-in .zip file for pre-v9 documentation.
    </description>
    <tag>Mobile/IBM MobileFirst</tag>
    <server:required-server-version>6.0.1.0</server:required-server-version>
  </header>

  <step-type name="Deploy Adapter">
    <description>Deploys the adapter to IBM MobileFirst.</description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value=""/>
      </property>
      <property name="runtime">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The runtime on which to deploy the adapter.
                        Note: This property is required for Worklight 6.2 and later."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="adapter" required="true">
        <property-ui type="textAreaBox"
                     label="Adapter Files"
                     description="A list, separated by commas or newline characters, of IBM MobileFirst
                     Adapter (.adapter) files to deploy to the IBM MobileFirst Server."
                     default-value="${p:component/mfp.adapter}"/>
      </property>
      <property name="user">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access a secure IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.user}"/>
      </property>
      <property name="password">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user's password to access the IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.password}"/>
      </property>
      <property name="secure">
        <property-ui type="checkBox"
                     label="Secure"
                     description="Whether to transmit in a secure way. Utilized in server versions 6.2 to 7.1."
                     default-value="false"/>
      </property>
      <property name="worklightAntJar">
        <property-ui type="textBox"
                     label="Worklight Ant JAR File Path"
                     description="The path to the Worklight Ant Deployer JAR
                                  (worklight-ant-deployer.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/worklight-ant.jar.
                                  Required for server versions less than 8.0."
                     default-value="${p?:resource/worklightAntJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/jettison-1.1.jar:lib/securedata.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deployAdapter.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Delete Adapter">
    <description>
        Deletes the adapter from the IBM MobileFirst server.
        Note: This step is for Worklight and IBM MobileFirst servers 6.2 and later.
    </description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value=""/>
      </property>
      <property name="runtime" required="true">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The runtime on which to remove the adapter."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="adapterName" required="true">
        <property-ui type="textBox"
                     label="Adapter Name"
                     description="The adapter to delete from the IBM MobileFirst server."
                     default-value="${p:component.name}"/>
      </property>
      <property name="user">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access a secure IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.user}"/>
      </property>
      <property name="password">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user's password to access the IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.password}"/>
      </property>
      <property name="secure">
        <property-ui type="checkBox"
                     label="Secure"
                     description="Whether to transmit in a secure way. Utilized in server versions 6.2 to 7.1."
                     default-value="false"/>
      </property>
      <property name="worklightAntJar">
        <property-ui type="textBox"
                     label="Worklight Ant JAR File Path"
                     description="The path to the Worklight Ant Deployer JAR
                                  (worklight-ant-deployer.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/worklight-ant.jar.
                                  Required for server versions less than 8.0."
                     default-value="${p?:resource/worklightAntJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/jettison-1.1.jar:lib/securedata.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deleteAdapter.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Change Application Configuration">
    <description>
        Changes an application's configuration on IBM MobileFirst.
        Note: This step is for server 6.2 or later.
    </description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value=""/>
      </property>
      <property name="runtime" required="true">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The runtime on which to change the application's configuration."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="wlappName" required="true">
        <property-ui type="textBox"
                     label="Application Name"
                     description="The application name to reconfigure."
                     default-value="${p:component.name}"/>
      </property>
      <property name="env" required="true">
        <property-ui type="textBox"
                     label="Environment"
                     description="The name of the environment."
                     default-value="${p:environment.name}"/>
      </property>
      <property name="version" required="true">
        <property-ui type="textBox"
                     label="Version"
                     description="The name of the version."
                     default-value="${p:version.name}"/>
      </property>
      <property name="ruleFile" required="true">
        <property-ui type="textBox"
                     label="Configuration File"
                     description="The .json or .xml file path containing the application's new configuration."
                     default-value="${p:component/mfp.config}"/>
      </property>
      <property name="user">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access a secure IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.user}"/>
      </property>
      <property name="password">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user's password to access the IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.password}"/>
      </property>
      <property name="secure">
        <property-ui type="checkBox"
                     label="Secure"
                     description="Whether to transmit in a secure way. Utilized in versions 6.2 to 7.1."
                     default-value="false"/>
      </property>
      <property name="worklightAntJar">
        <property-ui type="textBox"
                     label="Worklight Ant JAR File Path"
                     description="The path to the Worklight Ant Deployer JAR
                                  (worklight-ant-deployer.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/worklight-ant.jar.
                                  Required for server versions less than 8.0."
                     default-value="${p?:resource/worklightAntJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/jettison-1.1.jar:lib/securedata.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="changeAccessRule.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Deploy Application">
    <description>Deploys an application to IBM MobileFirst.</description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value=""/>
      </property>
      <property name="runtime">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The runtime on which to deploy the IBM MobileFirst application.
                        Note: This property is required for Worklight 6.2 or later."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="wlapp" required="true">
        <property-ui type="textAreaBox"
                     label="Application Files"
                     description="A list, separated by commas or newline characters, of the
                     Worklight Application files to deploy to the Worklight Server.
                     Specify .wlapp files for IBM MobileFirst pre-v8 and .json or .xml files for IBM MobileFirst v8+."
                     default-value="${p:component/mfp.app}"/>
      </property>
      <property name="user">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access a secure IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.user}"/>
      </property>
      <property name="password">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user's password to access the IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.password}"/>
      </property>
      <property name="secure">
        <property-ui type="checkBox"
                     label="Secure"
                     description="Whether to transmit in a secure way. Utilized in server versions 6.2 to 7.1."
                     default-value="false"/>
      </property>
      <property name="worklightAntJar">
        <property-ui type="textBox"
                     label="Worklight Ant JAR File Path"
                     description="The path to the Worklight Ant Deployer JAR
                                  (worklight-ant-deployer.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/worklight-ant.jar.
                                  Required for IBM MobileFirst versions less than 8.0."
                     default-value="${p?:resource/worklightAntJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/jettison-1.1.jar:lib/securedata.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deployHybridApp.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Delete Application">
    <description>
        Delete an application from IBM MobileFirst.
        Note: This step is for Worklight Server 6.2 or later.
    </description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value=""/>
      </property>
      <property name="runtime">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The runtime on which to remove the IBM MobileFirst application.
                        Note: This property is required for Worklight 6.2 or later."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="wlappName" required="true">
        <property-ui type="textBox"
                     label="Application Name"
                     description="The name of the Worklight application to remove."
                     default-value="${p:component.name}"/>
      </property>
      <property name="environment" required="false">
        <property-ui type="textBox"
                     label="Environment"
                     description="The application's environment. Only required if using IBM MobileFirst v8+."
                     default-value="${p:environment.name}"/>
      </property>
      <property name="version" required="false">
        <property-ui type="textBox"
                     label="Version"
                     description="The application's version number. Only required if using IBM MobileFirst v8+."
                     default-value="${p:version.name}"/>
      </property>
      <property name="user">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access a secure IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.user}"/>
      </property>
      <property name="password">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user's password to access the IBM MobileFirst server.
                        Note: This property is required for Worklight 6.2 and later."
                        default-value="${p:resource/mfp.password}"/>
      </property>
      <property name="secure">
        <property-ui type="checkBox"
                     label="Secure"
                     description="Whether to transmit in a secure way. Utilized in server versions 6.2 to 7.1."
                     default-value="false"/>
      </property>
      <property name="worklightAntJar">
        <property-ui type="textBox"
                     label="Worklight Ant JAR File Path"
                     description="The path to the Worklight Ant Deployer JAR
                                  (worklight-ant-deployer.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/worklight-ant.jar.
                                  Required for IBM MobileFirst versions less than 8.0."
                     default-value="${p?:resource/worklightAntJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/jettison-1.1.jar:lib/securedata.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deleteHybridApp.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Upload Application to Application Center">
    <description>Uploads the application to the IBM MobileFirst Application Center.</description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value="${p:environment/ac.path}"/>
      </property>
      <property name="context" required="true">
        <property-ui type="textBox"
                     label="Context"
                     description="The context of the Application Center. For example, applicationcenter."
                     default-value="${p:environment/ac.context}"/>
      </property>
      <property name="user" required="true">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access the Application Center."
                     default-value="${p:environment/ac.user}"/>
      </property>
      <property name="password" required="true">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user password. The default value is: ${p:environment/applicationCenterPassword}."
                     default-value="${p:environment/ac.password}"/>
      </property>
      <property name="desc">
        <property-ui type="textBox"
                     label="Description"
                     description="The description of the application to upload to the Application Center."
                     default-value="${p?:component/ac.description}"/>
      </property>
      <property name="label">
        <property-ui type="textBox"
                     label="Label"
                     description="The fallback label in the Application Center."
                     default-value="${p?:component/ac.label}"/>
      </property>
      <property name="isActive">
        <property-ui type="checkBox"
                     label="Active"
                     description="Store the application in the Application Center as an active application."
                     default-value="true"/>
      </property>
      <property name="isInstaller">
        <property-ui type="checkBox"
                     label="Installer"
                     description="Store the application in the Application Center with the installer flag."/>
      </property>
      <property name="isReadyForProduction">
        <property-ui type="checkBox"
                     label="Ready for production"
                     description="Store the application in the Application Center with the ready-for-production flag."/>
      </property>
      <property name="isRecommended">
        <property-ui type="checkBox"
                     label="Recommended"
                     description="Store the application in the Application Center with the recommended flag."/>
      </property>
      <property name="force">
        <property-ui type="checkBox"
                     label="Force Upload"
                     description="Force existing applications to be uploaded to the Application Center."/>
      </property>
      <property name="disableSSL">
        <property-ui type="checkBox"
                     label="Disable SSL Security Checking"
                     description="Disables SSL security checking. Use of this flag is a security risk."/>
      </property>
      <property name="file" required="true">
        <property-ui type="textBox"
                     label="File"
                     description="The Android application package (.apk) or iOS application (.ipa) file to upload to the Application Center."
                     default-value="${p:component/ac.appPath}"/>
      </property>
      <property name="appCenterJar" required="true">
        <property-ui type="textBox"
                     label="Application Center Ant JAR File Path"
                     description="The path to the Application Center Deploy Tool Ant
                                  JAR (applicationcenterdeploytool.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/applicationcenterdeploytool.jar."
                     default-value="${p:resource/appCenterDeployJAR}"/>
      </property>
      <property name="json4jJar" required="true">
        <property-ui type="textBox"
                     label="JSON4J JAR File Path"
                     description="The path to the JSON4J JAR (json4j.jar) file. The
                                  Worklight 6.0.0 Server can use the value:
                                  ${PLUGIN_HOME}/lib/json4j.jar."
                     default-value="${p:resource/json4jJAR}"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="uploadNativeApp.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <step-type name="Remove Application from Application Center">
      <description>Removes the native application from the IBM MobileFirst Application Center.</description>
      <properties>
        <property name="serverpath" required="true">
          <property-ui type="textBox"
                       label="Server Path"
                       description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                       default-value="${p:environment/ac.path}"/>
        </property>
        <property name="context" required="true">
          <property-ui type="textBox"
                       label="Context"
                       description="The context of the Application Center. For example, applicationcenter."
                       default-value="${p:environment/ac.context}"/>
        </property>
        <property name="user" required="true">
          <property-ui type="textBox"
                       label="User"
                       description="The user name that is required to access the Application Center."
                       default-value="${p:environment/ac.user}"/>
        </property>
        <property name="password" required="true">
          <property-ui type="secureBox"
                       label="Password"
                       description="The user password. The default value is: ${p:environment/applicationCenterPassword}."
                       default-value="${p:environment/ac.password}"/>
        </property>
        <property name="disableSSL">
          <property-ui type="checkBox"
                       label="Disable SSL Security Checking"
                       description="Disables SSL security checking. Use of this flag is a security risk."/>
        </property>
        <property name="package" required="true">
          <property-ui type="textBox"
                       label="Application Package"
                       description="The package name of the application to remove from the Application Center."
                       default-value="${p:component.name}"/>
        </property>
        <property name="os">
          <property-ui type="selectBox"
                       label="Operating System"
                       description="The operating system of the application to remove from the Application Center."
                       default-value="all"/>
          <value label="All">all</value>
          <value label="Android">Android</value>
          <value label="iOS">iOS</value>
        </property>
        <property name="version">
          <property-ui type="textBox"
                       label="Version"
                       description="The internal version (not the commercial version) of the application to remove from the Application Center."/>
        </property>
        <property name="appCenterJar" required="true">
          <property-ui type="textBox"
                       label="Application Center Ant JAR File Path"
                       description="The path to the Application Center Deploy Tool Ant
                                    JAR (applicationcenterdeploytool.jar) file. The
                                    Worklight 6.0.0 Server can use the value:
                                    ${PLUGIN_HOME}/lib/applicationcenterdeploytool.jar."
                       default-value="${p:resource/ac.DeployJar}"/>
        </property>
        <property name="json4jJar" required="true">
          <property-ui type="textBox"
                       label="JSON4J JAR File Path"
                       description="The path to the JSON4J JAR (json4j.jar) file. The
                                    Worklight 6.0.0 Server can use the value:
                                    ${PLUGIN_HOME}/lib/json4j.jar."
                       default-value="${p:resource/ac.json4jJAR}"/>
        </property>
      </properties>
      <post-processing><![CDATA[
          if (properties.get("exitCode") != 0) {
              properties.put("Status", "Failure");
          }
          else {
              properties.put("Status", "Success");
          }
       ]]></post-processing>
      <command program="${GROOVY_HOME}/bin/groovy">
        <arg value="-cp"/>
        <arg path="classes:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
        <arg file="deleteNativeApp.groovy"/>
        <arg file="${PLUGIN_INPUT_PROPS}"/>
        <arg file="${PLUGIN_OUTPUT_PROPS}"/>
      </command>
  </step-type>

  <step-type name="Deploy Web Resource">
    <description>
       Deploys a web resource compressed file (.zip) for a specific application version.
       Note: This step is for MobileFirst 8.0 or later.
    </description>
    <properties>
      <property name="serverpath" required="true">
        <property-ui type="textBox"
                     label="Server Path"
                     description="The URL to the IBM MobileFirst server and role of the MobileFirst authorized user. 
                     For Worklight versions 7.1 and older, the default path is /worklightadmin. 
                     For MobileFirst versions 8.0 and newer, the default path is /mfpadmin."
                     default-value="${p:environment/ac.path}"/>
      </property>
      <property name="user" required="true">
        <property-ui type="textBox"
                     label="User"
                     description="The user name that is required to access the Application Center."
                     default-value="${p:environment/ac.user}"/>
      </property>
      <property name="password" required="true">
        <property-ui type="secureBox"
                     label="Password"
                     description="The user password that is required to access the Application Center."
                     default-value="${p:environment/ac.password}"/>
      </property>
      <property name="runtime" required="true">
        <property-ui type="textBox"
                     label="Runtime"
                     description="The MobileFirst runtime in which to deploy the web resource archive."
                     default-value="${p:resource/mfp.runtime}"/>
      </property>
      <property name="application" required="true">
        <property-ui type="textBox"
                     label="Application Identifier"
                     description="The MobileFirst application in which to deploy the web resource archive."
                     default-value="${p:component.name}"/>
      </property>
      <property name="environment" required="true">
        <property-ui type="textBox"
                     label="Environment"
                     description="The MobileFirst application's environment in which to deploy the web resource archive."
                     default-value="${p:environment.name}"/>
      </property>
      <property name="version" required="true">
        <property-ui type="textBox"
                     label="Version"
                     description="The MobileFirst application's version number in which to deploy the web resource archive."
                     default-value="${p:version.name}"/>
      </property>
      <property name="archive" required="true">
        <property-ui type="textBox"
                     label="Web Resource File"
                     description="The name of the web resource (.zip) file to deploy to the IBM MobileFirst Server."
                     default-value="web-resource.zip"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put("Status", "Failure");
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/uDeployRestClient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deployWebResource.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
</plugin>
