Dependency management
- Last Updated: March 25, 2026
- 2 minute read
- OpenEdge DevOps Framework
- Version 2.4
- Documentation
The ABL base plugin provides configurations which can be used to manage PL
file dependencies. Further sections provide the list of configutations that handle
PL dependencies.
pl
Use this configuration to specify PL files dependencies containing
only r-code. The PL files automatically
download from a repository. These dependencies can then be used to configure the
PROPATH of the AVM in different tasks (for example, while creating compile tasks
using ABLCompile).
//declare repositories
repositories {
maven {
url ='<maven repo url>'
metadataSources {
artifact()//needed to downloaded artifacts (like .pl file) without a pom file in the repository
}
}
}
//define the dependencies
dependencies {
pl("progress.openedge.oedf.test.apps:avengers:1.0.0@pl")
}
task myCompileTask1(type: ABLCompile){
source("src/")
propath(files(configurations.pl.files))
} The configurations.pl.files returns a set of PL files
defined using the pl configuration and these PL
files are directly added to the PROPATH. AVM cannot recognize non
r-code files inside the PL and you should use
plSource to manage such dependencies.
pl source
Use the plSource configuration to specify PL files
containing source files (such as ABL sources, image files, config files, and so on).
The PL files are automatically downloaded from a repository and
then extracted using the ExtractPLTransform transform. Use the
extracted directory of these dependencies to configure the PROPATH of the AVM
in different tasks (for example, while creating compile tasks using
ABLCompile).
//declare repositories
repositories {
maven {
url ='<maven repo url>'
metadataSources {
artifact()//needed to downloaded artifacts (like .pl file) without a pom file in the repository
}
}
}
//define the dependencies
dependencies {
pl("progress.openedge.oedf.test.apps:avengers:1.0.0@pl")
plSource("progress.openedge.oedf.test.apps:avengers:1.0.0:sources@pl")
}
task myCompileTask2(type: ABLCompile){
source("src/")
propath(files(configurations.pl.files))
propath(files(configurations.plSource.files))
} The configurations.plSource.files returns a set of directories where
PL files defined using the plSource
configuration are extracted. Thus, the paths to extracted directories are added to
the PROPATH.