<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed Materials - Property of IBM* and/or HCL**
- UrbanCode Deploy
- (c) Copyright IBM Corporation 2011, 2017. All Rights Reserved.
- (c) Copyright HCL Technologies Ltd. 2019. 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:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <header>
    <identifier id="com.ibm.rational.deploy.plugin.bpm" version="13" name="WebSphere BPM"/>
    <description>
This plug-in includes steps to deploy process application snapshots on a Process Server. For additional documentation, see the webspherebpm_plugin_v2.pdf file in the plug-in archive.
    </description>
    <tag>Application Server/Java/BPM/WebSphere BPM</tag>
  </header>
  <!-- =============================================================== -->
  <!--  Deploy Process Application Snapshot - Online - (BPMInstall)    -->
  <!-- =============================================================== -->

  <step-type name="Deploy Process Application Snapshot">
    <description>Deploys the process application snapshot to an online Process Server. (BPMInstall)</description>
    <properties>
      <property name="servers" required="true">
        <property-ui type="textBox" label="Process server name" description="A list, separated by commas, of names of online Process Servers on which to deploy the snapshot."/>
      </property>
      <property name="containerAcronym">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym. If blank, the component name is used."/>
      </property>
      <property name="containerSnapshotAcronym">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym">
        <property-ui type="textBox" label="Process application track" default-value="Main" description="The process application track name or acronym."/>
      </property>
      <property name="skipGovernance">
        <property-ui type="checkBox" label="Skip all governance processes" default-value="false" description="If selected, the process application snapshot deployment skips all governance processes, including the approval processes defined by the administrator. Not supported for WebSphere Business Process Manager earlier than version 8.5."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deployProcessAppOnline.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <!-- ===================================================================================== -->
  <!--  Generate Offline Package - (BPMCreateOfflinePackage and BPMExtractOfflinePackage)    -->
  <!-- ===================================================================================== -->
  <step-type name="Generate Offline Package">
    <description>Creates a .zip file on Process Center that contains a process application snapshot package. (BPMCreateOfflinePackage and BPMExtractOfflinePackage)</description>
    <properties>
      <property name="servers" required="true">
        <property-ui type="textBox" label="Process server name" default-value="${p:resource/offline.server.name}" description="A list, separated by commas, of offline Process Servers to create a process application snapshot package for."/>
      </property>
      <property name="containerAcronym">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym. If blank, the component name is used."/>
      </property>
      <property name="containerSnapshotAcronym">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym">
        <property-ui type="textBox" label="Process application track" default-value="Main" description="The process application track name or acronym."/>
      </property>
      <property name="skipGovernance">
        <property-ui type="checkBox" label="Skip all governance processes" default-value="false" description="If selected, the process application snapshot deployment skips all governance processes, including the approval processes defined by the administrator. Not supported for WebSphere Business Process Manager earlier than version 8.5."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
      <property name="timeout">
        <property-ui type="textBox" label="Timeout" default-value="" description="Increase the timeout between the BPMCreateOfflinePackage and BPMExtractOfflinePackage commands. Set this value if you are experiencing a race condition between when the package is being created and extracted. Input values are in milliseconds." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="generateOfflinePackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <!-- ================================================================================ -->
  <!--  Deploy Offline Package - (BPMInstallOfflinePackage and BPMSetDefaultSnapshot)   -->
  <!-- ================================================================================ -->
  <step-type name="Deploy Offline Package">
    <description>Deploys the process application snapshot package to an offline Process Server. (BPMInstallOfflinePackage and BPMSetDefaultSnapshot)</description>
    <properties>
      <property name="package">
        <property-ui type="textBox" label="Process application package" default-value="${p:resource/offline.server.name}" description="The name of the .zip file that contains the process application snapshot package. By default, the offline.server.name resource property is used. Including the .zip file extension in the name is optional."/>
      </property>
      <property name="makeDefault">
        <property-ui type="checkBox" label="Make this snapshot the default" default-value="true" description="Select to set this snapshot as the default snapshot."/>
      </property>
      <property name="containerAcronym">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym if this snapshot is set as the default. If blank, the component name is used."/>
      </property>
      <property name="containerSnapshotAcronym">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym if this snapshot is set as the default."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deployOfflinePackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <!-- ========================================= -->
  <!--  Import Process Application - (BPMImport) -->
  <!-- ========================================= -->
  <step-type name="Import Process Application">
    <description>Imports a process application into a Process Center server. (BPMImport)</description>
    <properties>
      <property name="package">
        <property-ui type="textBox" label="Process application package" description="The name of the .twx file that contains the process application package. If blank, the component name is used. Including the .twx file extension in the name is optional."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="importPackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>

  <!-- ========================================= -->
  <!--  Export Process Application - (BPMExport) -->
  <!-- ========================================= -->
  <step-type name="Export Process Application">
    <description>Exports a process application from a Process Center server. (BPMExport)</description>
    <properties>
      <property name="containerAcronym">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym. If blank, the component name is used."/>
      </property>
      <property name="containerSnapshotAcronym">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym">
        <property-ui type="textBox" label="Process application track" default-value="Main" description="The process application track name or acronym."/>
      </property>
      <property name="package">
        <property-ui type="textBox" label="Package" description="The name of the .twx file that contains the exported process application. If blank, the process application acronym is used. Including the .twx file extension in the name is optional."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="exportPackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ========================================================== -->
  <!--  Create Generic Install Package (BPMExportInstallPackage)  -->
  <!-- ========================================================== -->
  <step-type name="Create Generic Install Package">
    <description>Creates a generic installation package for a process application or toolkit snapshot that is not targeted to a specific Process Server. (BPMExportInstallPackage)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym" required="true">
        <property-ui type="textBox" label="Process application track" default-value="Main" description="The process application track name or acronym."/>
      </property>
      <property name="packageZipFile">
        <property-ui type="textBox" label="Package Zip" description="The name of the .zip file that contains the exported process application package.
        If blank, the process application acronym is used. This file is saved to the working directory and overwrites any existing files with the same name."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="exportInstallPackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- =========================================================== -->
  <!--  Install Process Application Snapshot (BPMInstallPackage)  -->
  <!-- =========================================================== -->
  <step-type name="Install Process Application Snapshot">
    <description>Installs a process application snapshot from Process Center to a Process Server. (BPMInstallPackage)</description>
    <properties>
      <property name="installPackageFile" required="true">
        <property-ui type="textBox" label="Install Package"
            description="The path of the offline installation package that you created and extracted on
            the Process Center server and have already placed on the offline Process Server's file system.
            Specify an absolute path or a file in the working directory."/>
      </property>
      <property name="showSnapshotInfo">
        <property-ui type="checkBox" label="Show Snapshot Info" description="If selected, the command returns the acronyms of the process application, track, and snapshot that were installed."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="installPackage.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ========================================================================== -->
  <!--  Extract Migration Policy from Process Center (BPMExtractMigrationPolicy)  -->
  <!-- ========================================================================== -->
  <step-type name="Extract Migration Policy">
    <description>Extracts the migration policy from Process Center. Use this step to extract the
         information used to migrate instances from other snapshots to the newly installed snapshot. (BPMExtractMigrationPolicy)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSourceSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Source process application snapshot" default-value="SourceSnapshot" description="The source process application snapshot name or acronym."/>
      </property>
      <property name="containerTargetSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Target process application snapshot" default-value="TargetSnapshot" description="The source process application snapshot name or acronym."/>
      </property>
      <property name="migrationPolicyFile">
        <property-ui type="textBox" label="Migration Policy XML" description="The name of the file to create. The file will contain the information used to migrate instances
                                                                from the source snapshot to the target snapshot. The file name must be unique and must have the .xml extension.
                                                                This file overwrites any file with the same name in the working directory. If blank, the component name is used."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="extractMigrationPolicy.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ========================================================================== -->
  <!--  Migrate instances to run an instance migration (BPMMigrateInstances)  -->
  <!-- ========================================================================== -->
  <step-type name="Migrate Instances">
    <description>Migrates all instances on all nodes in the network deployment environment.
         Equivalent to clicking 'Migrate Inflight Data' in the Process Admin Console. (BPMMigrateInstances)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="sourceContainerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Source process application snapshot" default-value="SourceSnapshot" description="The source process application snapshot name or acronym."/>
      </property>
      <property name="targetContainerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Target process application snapshot" default-value="TargetSnapshot" description="The target process application track name or acronym."/>
      </property>
      <property name="orphanTokenPolicyFile">
        <property-ui type="textBox" label="Orphan Token Policy File" description="Optional: The name of a policy file to use during instance migration. The policy file
                                                                    is distributed to all the nodes in the same network deployment environment before instance migration.
                                                                    The policy file must be in XML format."/>
      </property>
      <property name="useNetworkAvailablePolicyFile">
        <property-ui type="selectBox" label="Use Network Available Policy File" default-value="" description="Optional: Select TRUE if the policy file is larger than 100 KB. Save the policy file in a path that is accessible to all nodes."/>
        <value label="Default">0</value>
        <value label="FALSE">false</value>
        <value label="TRUE">true</value>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="migrateInstances.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ========================================================================== -->
  <!--  Designate a default snapshot on the PC server or PS (BPMSetDefaultSnapshot)  -->
  <!-- ========================================================================== -->
  <step-type name="Set Default Snapshot">
    <description>Designates a default snapshot on the Process Center or the Process Server. (BPMSetDefaultSnapshot)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="setDefaultSnapshot.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ===================================================================================================== -->
  <!--  Copy team bindings, environment variables, and exposed process values from source to target snapshot -->
  <!--  (BPMSyncEnvironmentValues, BPMSyncEPVValues, and BPMSyncTeamBindings)                                -->
  <!-- ===================================================================================================== -->
  <step-type name="Sync Values, Variables, and Team Bindings">
    <description>Synchronize team bindings, environment variables, and exposed process values between
         a source and target snapshot. (BPMSyncEnvironmentVariables, BPMSyncEPVValues, and BPMSyncTeamBindings)
         Do not run this step using the deployment manager profile.</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="sourceContainerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Source process application snapshot" default-value="SourceSnapshot" description="The source process application snapshot name or acronym."/>
      </property>
      <property name="targetContainerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Target process application snapshot" default-value="TargetSnapshot" description="The target process application track name or acronym."/>
      </property>
      <property name="syncEnvironmentVariables">
        <property-ui type="checkBox" label="Sync Environment Variables" description="Select to copy environment variables from the source snapshot to the target snapshot."/>
      </property>
      <property name="syncEPVValues">
        <property-ui type="checkBox" label="Sync EPV Values" description="Select to copy exposed process values from the source snapshot to the target snapshot."/>
      </property>
      <property name="syncTeamBindings">
        <property-ui type="checkBox" label="Sync Team Bindings" description="Select to copy teams from the source snapshot to the target snapshot."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}"
            description="The directory that contains all data for the profile.
            For example: /opt/IBM/BPM/profiles/processCenter.
            Do not run this step using the deployment manager profile."
            hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="syncCommands.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ========================================================================================= -->
  <!-- Stop a process application snapshot that has already been deactivated on a PS  (BPMStop)  -->
  <!-- ========================================================================================= -->
  <step-type name="Stop Snapshot">
    <description>Stops a deactivated snapshot on a Process Server. (BPMStop)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="stopSnapshot.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ================================================= -->
  <!--  Deactivate an active snapshot (BPMDeactivate)    -->
  <!-- ================================================= -->
  <step-type name="Deactivate Snapshot">
    <description>Deactivates an activate snapshot. (BPMDeactivate)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym">
        <property-ui type="textBox" label="Process application track" description="The process application track name or acronym."/>
      </property>
      <property name="force">
        <property-ui type="checkBox" label="Force default snapshot" description="Select to deactivate the default snapshot of the process application or toolkit. If cleared, default snapshots are not deactivated."/>
      </property>
      <property name="suspendAllBPDInstances">
        <property-ui type="checkBox" label="Suspend all BPD instances" description="Immediately suspend all instances associated with the given context.
                                                                        The instances remain suspended until you resume them. Not supported when 'Tip' is used for the snapshot acronym. "/>
      </property>
      <property name="logFile">
        <property-ui type="textBox" label="Log File" description="The name of the log file for message output from running the command. Default log messages
                                                    are written to the SystemOut.log file. The current date and time are appended to prevent overwriting existing
                                                    log files. The log file is saved to the working directory."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="deactivateSnapshot.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
  <!-- ============================================================================================== -->
  <!--  Associate the generic installation package created by BPMExportInstallPackage with a specific -->
  <!--  server so that you can install a snapshot onto that server (BPMUpdateInstallationInformation) -->
  <!-- ============================================================================================== -->
  <step-type name="Update Installation Information">
    <description>Associates an installation package with a specific server, to enable installing the
         snapshot installation on the server. (BPMUpdateInstallationInformation)</description>
    <properties>
      <property name="containerAcronym" required="true">
        <property-ui type="textBox" label="Process application" description="The process application name or acronym."/>
      </property>
      <property name="containerSnapshotAcronym" required="true">
        <property-ui type="textBox" label="Process application snapshot" default-value="Tip" description="The process application snapshot name or acronym."/>
      </property>
      <property name="containerTrackAcronym" required="false">
        <property-ui type="textBox" label="Process application track" default-value="Main"
            description="The process application track name or acronym.
            Required if updating a Process Server and optional for a Process Center server.
            The Default track will be selected for the Process Center server."/>
      </property>
      <property name="serverName" required="true">
        <property-ui type="textBox" label="Server Name" description="The Process Server or Process Center server to associate with the process application or toolkit snapshot and track."/>
      </property>
      <property name="useSOAPProps">
        <property-ui type="checkBox" label="Use soap.client.props file" default-value="true" description="Select to use the soap.client.props file for the WebSphere Application Server administrator credentials."/>
      </property>
      <property name="profileRoot">
        <property-ui type="textBox" label="Profile root directory" default-value="${p:resource/profile.root.directory}" description="The directory that contains all data for the profile. For example: /opt/IBM/BPM/profiles/processCenter" hidden="true"/>
      </property>
      <property name="host">
        <property-ui type="textBox" label="Host Name" description="Host name of the Process Center server to connect to. For example: localhost"/>
      </property>
      <property name="user">
        <property-ui type="textBox" label="User Name" default-value="${p:resource/websphere.user}" description="The user name to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="password">
        <property-ui type="secureBox" label="Password" default-value="${p:resource/websphere.password}" description="The password to use to connect to the Process Center server." hidden="true"/>
      </property>
      <property name="port">
        <property-ui type="textBox" default-value="${p:resource/websphere.port}" label="Port" description="The port to connect to." hidden="true"/>
      </property>
      <property name="connType" required="true">
        <property-ui type="selectBox" label="Connection Type" default-value="${p:resource/websphere.connType}" description="The type of connection to use with wsadmin." hidden="true"/>
        <value label="SOAP">SOAP</value>
        <value label="RMI">RMI</value>
        <value label="NONE">NONE</value>
      </property>
      <property name="verbose">
        <property-ui type="checkBox" label="Verbose Output" default-value="false" description="Select to provide additional output during wsadmin commands." hidden="true"/>
      </property>
    </properties>
    <post-processing><![CDATA[
        if (properties.get("exitCode") != 0) {
            properties.put(new java.lang.String("Status"), new java.lang.String("Failure"));
        }
        else {
            properties.put("Status", "Success");
        }
     ]]></post-processing>
    <command program="${GROOVY_HOME}/bin/groovy">
      <arg value="-cp"/>
      <arg path="classes:lib/udclient.jar:lib/securedata.jar:lib/jettison-1.1.jar:lib/commons-codec.jar:lib/CommonsUtil.jar"/>
      <arg file="updateInstallationInformation.groovy"/>
      <arg file="${PLUGIN_INPUT_PROPS}"/>
      <arg file="${PLUGIN_OUTPUT_PROPS}"/>
    </command>
  </step-type>
</plugin>
