<?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="11"/>
    <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. On Worklight 6.0 and 6.1, the replace the user's role with the project's
                     context root, for example: /worklightadmin."
                     default-value="${p:environment/mfp.path}/mfpadmin"/>
      </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. On Worklight 6.0 and 6.1, the replace the user's role with the project's
                     context root, for example: /worklightadmin."
                     default-value="${p:environment/mfp.path}/mfpadmin"/>
      </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. On Worklight 6.0 and 6.1, the replace the user's role with the project's
                     context root, for example: /worklightadmin."
                     default-value="${p:environment/mfp.path}/mfpadmin"/>
      </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. On Worklight 6.0 and 6.1, the replace the user's role with the project's
                     context root, for example: /worklightadmin."
                     default-value="${p:environment/mfp.path}/mfpadmin"/>
      </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. On Worklight 6.0 and 6.1, the replace the user's role with the project's
                     context root, for example: /worklightadmin."
                     default-value="${p:environment/mfp.path}/mfpadmin"/>
      </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 Application Center."
                     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 Application Center."
                       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 Application Center."
                     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>
