Dependency configurations to handle PL dependencies
- Last Updated: March 25, 2026
- 2 minute read
- OpenEdge DevOps Framework
- Version 2.4
- Documentation
This sections describes the list of configurations supported in OpenEdge DevOps Framework for ABL.
implementationAbl
The implementation only dependencies use at both compile-time and runtime.
Example
//define the dependencies
dependencies {
implementationAbl(<group>:<module-name>:<version>:<classifier>@pl')
}
compileOnlyAbl
The dependencies used only for compilation (not used at runtime).
Example
//define the dependencies
dependencies {
compileOnlyAbl(<group>:<module-name>:<version>:<classifier>@pl')
}
compilePropath
Extends compileOnlyAbl and implementationAbl used when
compiling sources. Used by the compileAbl
(<src-entry-tasks>) task.
Manage dependencies and propaths from .propath
The propaths from .propath file are added first, followed by the dependencies
coming from the dependency configurations. Priority is given to the dependencies
coming from the .propath file.
configurationNameSource
For each of the above
dependency configurations, one dependency configuration is added to handle
PL file dependencies with sources. See Procedure Library (PL)
dependencies in PROPATH for more information.
Such
PL file dependencies are treated similar to their counterparts,
except that the PL file dependencies defined by this configuration
are extracted using the ExtractPLTransform transform and then added
to the .propath.
implementationAblSourceforimplementationAbl.compileOnlyAblSourceforcompileOnlyAbl.compilePropathSourceforcompilePropath.
This illustration shows the relations between dependency configuration and tasks.

Sample Example
plugins {
id "progress.openedge.abl"version "<version>"
}
//declare repositories
repositories {
maven {
url ='<maven-repo-url>'
metadataSources {
artifact() //needed to downloaded artifacts without pom file
}
}
}
//define the dependencies
dependencies {
implementationAbl(<group>:<module-name>:<version>:<classifier>@pl')
implementationAblSource(<group>:<module-name>:<version>:<classifier>@pl')
compileOnlyAbl(<group>:<module-name>:<version>:<classifier>@pl')
compileOnlyAblSource(<group>:<module-name>:<version>:<classifier>@pl')
In this example, the dependencies defined
by implementationAbl and compileOnlyAbl are
added to the .propath directly as PL files,
whereas dependencies defined by implementationAblSource and
compileOnlyAblSource are first extracted and then the location
of the extracted directory is added to the .propath.