Create an OpenEdge Application Archive using an Ant Build
- Last Updated: February 11, 2026
- 4 minute read
- OpenEdge
- Version 13.0
- Documentation
If you use Ant or Gradle to compile your ABL code or for CI/CD purposes, you can use the ABLApp Ant Task to generate an OpenEdge Application Archive (OEAR) for an ABL application. The ABLApp Ant Task functionality is provided by oeant-12.2.0.jar. Using the ABLApp Ant Task lets you automate the creation of OpenEdge Application Archive packages using your source-control or other environments, which supports continuous integration and deployment practices.
For more information about ABL applications, see OpenEdge Application Archive Structure and ABL applications.
|
The ABLApp Ant Task is a subclass of the Ant Zip task. The majority of the documentation for Ant Zip tasks can be found at https://ant.apache.org/manual/Tasks/zip.html
The ABLApp task also uses some code from the Jar task for handling Manifests. You can find documentation regarding manifests at https://ant.apache.org/manual/Tasks/jar.html.
Differences between ABLApp and Zip Ant Tasks
The following attribute from the Zip task is deprecated in the ABLApp
task: destFile
destDir—The destination directory where the archive will go. The default is current directory.archiveBaseName—The basename that the archive will use. The default is the ABLApp name.archiveClassifier—Optional classifier that can be added to archive name (ALPHA, RELEASE, LATEST, etc). The default is blank.archiveExtension—Archive extension type. The default is.oear.archiveVersion—Optional version to use in the archive filename. The default is blank.
|
Generating an ABLApp with Ant
Like the Ant Zip task, there are two ways to generate an OEAR file.
The first way uses basedir and
requires you to copy over all the resources required by your ABLApp and ensure they
are in the proper location.
The second way is to use filesets to pull resources from different locations an assemble them in the archive.
In either case, basedir must be
set. It should point to an empty directory if you are using filesets.
Embedded attributes
The following attributes can be used as nested elements and to specify filesets. See the Jar task documentation for more information.
<tlr>—Fileset that comprises resources in the $CATALINA_BASE/ablapps/{ABLAppName}/tlr directory<webapps>—Fileset that comprise the set of web applications used by this ABL Application. It must be a fully tailored war file, or a zip file that will be overlaid over a tailoredoeabl.war.-
<openedge>—Fileset that comprises the$CATALINA_BASE/ablapps/{ABLAppName}/openedgedirectory. <conf>—Fileset that comprises the $CATALINA_BASE/ablapps/{ABLAppName}/conf directory
<bin>—Fileset that comprises resources in the $CATALINA_BASE/bin directory.<instance>—Fileset for instance-level resources.
The above can be used in conjunction with basedir, but should not be used with instancedir.
Additional attributes
instancedir—Location of a PAS for OpenEdge instance that you are exporting an ABLApp from.You can not specify both
basedirandinstancedirin your Ant script.
Example Ant Script
The following example Ant script uses the ABLApp task to generate an OpenEdge Application Archive (OEAR) package. In this example, the OEAR package loads the Progress Compiler Tools Jar file, creates an OpenEdge database, contains three web applications (nginx, Payments, and SSOProd), and compiles ABL code:
|
The output of the Ant script is SSOApp-1.0.0-ALPHA.oear.