Package an ABL WebApp ANT project
- Last Updated: February 11, 2026
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
You can write an ABL WebApp Package 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.
Note: To package an ABL WebApp ANT project, the following
pathelement location attributes have been added to
the existing build.xml.<pathelement location="${dlc.java.dir}/ext/commons-logging-1.3.5.jar"/>
<pathelement location="${dlc.java.dir}/ext/xmlschema-core-2.3.1.jar"/
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="$DLC"/>
<property name="dlc.java.dir" value="${dlc.dir}/java"/>
<property name="src.dir" value="$srcdir/WebAppPrjRest"/>
<property name="dest.dir" value="$destdir/WebAppPrjRest"/>
<property name="app.name" value="$ProjectName" />
<!-- 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/commons-lang3-3.18.0.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/slf4j-api.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/velocity-engine-core-2.4.1.jar" />
<pathelement location="${dlc.java.dir}/ant-libs/1padapters-restExpose.jar" />
<pathelement location="${dlc.java.dir}/1padapters-idl.jar" />
<pathelement location="${dlc.java.dir}/1padapters-util.jar" />
<pathelement location="${dlc.java.dir}/ext/jettison-1.5.4.jar" />
<pathelement location="${dlc.java.dir}/ext/commons-logging-1.3.5.jar" />
<pathelement location="${dlc.java.dir}/ext/xmlschema-core-2.3.1.jar" />
</classpath>
</taskdef>
</target>
<!-- Main task -->
<target name="main" depends="taskdef">
<ABLWebAppPackage srcdir="${src.dir}" dlc="${dlc.dir}" verbose="false"
isIncremental="false" webAppName="${app.name}" destdir="${dest.dir}" />
</target>
</project>