Try OpenEdge Now
skip to main content
Online Help
Overview of Progress Application Server for OpenEdge : References : Using Apache Ant tasks : Packaging an ABL Web App project
 
Packaging an ABL Web App project
You can write an ABLWebAppPackage task to package an ABL Web App project as a .WAR file to publish it as a new and complete Web App or as a .ZIP file to publish the Web App incrementally to a PAS for OpenEdge instance.
Task-level properties and elements:
Name
Description
srcdir
Specifies the location of the project for which the .WAR or .ZIP file is to be generated.
dlc
Specifies the location of your OpenEdge installation.
verbose
(Optional) Enables the verbose mode. The valid values are true, false, on, off, yes, and no.
Note: By default, the value is set to false.
services
(Optional) Specifies the names of the services in the project.
Note: If there are multiple services, separate the names with a comma.
isIncremental
(Optional) Specifies whether to generate a .ZIP file for deploying the app incrementally or a .WAR file for deploying the app at once. The valid values are true, false, on, off, yes, and no.
Note: By default, the value is set to false and a .WAR file is generated for full deployment.
webAppName
(Optional) Specifies a name for the generated .WAR or .ZIP file.
Note: By default, the name of the project is assigned to the .WAR or .ZIP file.
destdir
(Optional) Specifies the destination directory where the .ZIP file is generated.
Here is a sample build.xml file for packaging an ABL WebApp project:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ABLWebApp" default="main" basedir=".">

<property name="dlc.dir" value="C:\Progress\OpenEdge117" />
<property name="dlc.java.dir" value="${dlc.dir}/java" />
<property name="src.dir" value="C:\ablwebapp\src\WebAppPrjRest" />
<property name="dest.dir" value="C:\ablwebapp\dst\WebAppPrjRest" />

<!-- Target for defining 'taskdef' -->
<target name="taskdef">
<echo>Task Definitions</echo>

<taskdef resource="com/progress/openedge/pdt/ant/ablwebapp/ablwebapps.properties">
<classpath>
<pathelement location="${dlc.java.dir}/ant-ablwebapp.jar" />

<!-- ABLWebApp Dependencies -->
<pathelement location="${dlc.java.dir}/ant-libs/ablwebapp.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/ablwebapp-dependencies.jar" />

<!-- CodeModel Dependencies -->
<pathelement location="${dlc.java.dir}/ant-libs/codemodel-dependencies.jar" />

<!-- AST and its Dependencies -->
<pathelement location="${dlc.java.dir}/ant-libs/ast.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/ast-dependencies.jar" />

<!-- Additional deps -->
<pathelement location="${dlc.java.dir}/ant-libs/velocity-1.7.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/velocity-1.7-dep.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/1padapters-restExpose.jar" />
<pathelement location="${dlc.java.dir}/1padapters-idl.jar" />
<pathelement location="${dlc.java.dir}/ext/jettison-1.2.jar" />
</classpath>
</taskdef>
</target>

<!-- Main task -->
<target name="main" depends="taskdef">
<ABLWebAppPackage srcdir="${src.dir}" dlc="${dlc.dir}" verbose="false"
isIncremental="true" webAppName="${app.name}" destdir="${dest.dir}" />
</target>

</project>