The default build.xml file in the instance-name/ablapps/app-name/tlr directory serves as a template build file for ABL application deployment tailoring. This can be customized to fit your build needs during application deployment, post-application deployment, and during other application lifecycle events. The following targets are defined and called by our tooling.
  • ablapp_deploy—Called when an ABLApp is being prepared to be imported.

  • ablapp_deployed—Called when an ABLApp is finished being imported.

  • ablapp_export—Called when an ABLApp is being prepared to be exported.

  • ablapp_exported—Called when an ABLApp is finished being exported.

PAS for OpenEdge tooling currently does not have support for undeploying an ABL application in a single command. However, undeploying a web application that is part of the ABLApp will cause these targets to be called. This is done multiple times as each web application that comprises the ABLApp is undeployed:
  • ablapp_undeploy—Called when an ABLApp is being prepared to be undeployed.

  • ablapp_undeployed—Called when an ABLApp is being prepared to be imported.

The following tailoring build.xml file provides an example of how to set environment variables, compile ABL code, and create and start an OpenEdge database when the ABL application is deployed to a PAS for OpenEdge instance:

<project name="PASOE SSO with form-local OpenEdge archive" basedir=".">

  <description>
  Template build file for ABL application deployment tailoring.
  Added to instance ablapps appname tlr directory.
  </description>

  <!-- Set environment variables required for the ANT script -->  
  <property environment="env" />
  <fail unless="env.DLC" message="You should install OpenEdge to run this script"/>
  <property name="openedge" value="../openedge" />
  <property name="dbdir" value="${catalina.base}/work" />
  <property name="rcode" value="../openedge" />
  <property name="ablappconf" value="${catalina.base}/ablapps/${ablapp.name}/conf" />

  <condition property="isWindows">
    <os family="windows" />
  </condition>

  <condition property="isUnix">
    <os family="unix" />
  </condition>

  <!-- Called when a deployment artifact is created -->
  <target name="ablapp_deploy">
	  <echo>creating database copy of sports2000</echo>
	 
	  <mkdir dir="${dbdir}"/>
    <exec executable="${env.DLC}/bin/prodb">
      <arg value="${dbdir}/sports2000"/>
      <arg value="sports2000"/>
    </exec>
  </target>

  <target name="ablapp_deployed">
    <!-- Called when a deployment artifact is created -->

    <!-- assume ROOT is not expanded -->
    <unzip src="${catalina.base}/webapps/ROOT.war" dest="${catalina.base}/webapps/ROOT/"/>
    
    <!-- Copy over redirect page to ROOT-->
    <copy file="errorPage.jsp" todir="${catalina.base}/webapps/ROOT/WEB-INF/jsp/" overwrite="true"/>
      
  </target>

  <target name="ablapp_undeploy">
    <!-- Called when a deployment artifact is removed from its container -->
  </target>

  <target name="ablapp_undeployed">
    <!-- Called when a deployment artifact is removed from its container -->
  </target>

  <target name="ablapp_export">
    <!-- Called when a deployment artifact is exported from its container -->
  </target>

  <target name="ablapp_exported">
    <!-- Called when a deployment artifact is exported from its container -->
  </target>

</project>