An ABL application can have various dependencies like library files containing ABL code, databases, application packages (for example, a .war files), resource files (images, icons, configurations), and many more. Thus, managing project dependencies is an important part of building an ABL project.

OpenEdge client or ABL Virtual Machine (AVM), which is the platform for compiling and running ABL code, uses PROPATH to search and locate ABL files and resource files. The following section describes all the dependencies that a PROPATH can manage.

PROPATH specific dependencies

AVM can search and locate files based on following types of values in PROPATH:
  • Path to a directory containing ABL code and resources.
  • Path to a Procedure Library file containing only r-code.

Procedure Library (PL) dependencies in PROPATH

Procedure Library (PL files) is the most common way to bundle ABL code as library. PL files can bundle r-codes and potentially any other source files (ABL files such as procedure files, class files, and include files) or resource files.

Because, AVM cannot recognize PL files with content other than r-code in PROPATH, you must handle PL file dependencies in the following ways:
  • PL file that contain only r-code—Directly add to the PROPATH.
  • PL file containing other source files (such as ABL sources, image files, config files, and other files)—First extract, and then add the path of the extracted directory to the PROPATH.
Note: The dependencies pertaining to database artifacts (such as schema file, structure file, backup file, and so on) and application packages (such as WAR files, OEAR files, PAAR files, and so on) are not yet supported.