Dependency Management
- Last Updated: March 25, 2026
- 2 minute read
- OpenEdge DevOps Framework
- Version 2.4
- Documentation
This section describes how to manage dependencies when building an ABL project using the ABL plugin. Refer to the Manage dependencies section to understand about various kinds of dependencies that you might want to handle.
- Using Propath file (this approach can only handle dependencies that are present locally)—Refer to the Propath file section for more details.
- Using dependency configurations—The ABL plugin has contributed to Gradle configurations using which you can manage your PL file dependencies both from local and from remote repositories.
Managing dependencies using dependency configurations is a two-step process— declaring repositories, and declaring dependencies.
Declaring Repositories
OEDF supports all types of repositories as supported by Gradle such as Maven, Ivy, and local (flat) directories. For more information on how to configure repositories, see Gradle documentation.
Example
//declare repositories
repositories {
maven {
url ='<url-to-maven-repository>'
metadataSources {
artifact()//needed to downloaded artifacts (like .pl file) without a pom file in the repository
}
}
}
Declaring Dependencies
Every dependency declared for a project applies to a specific scope. For example, some dependencies should be used for compiling source code whereas others may only need to be available for testing. Gradle represents the scope of a dependency with the help of a configuration.
OpenEdge DevOps Framework introduces different configurations for various types of dependencies for ABL projects. (Currently, only default tasks for compilation have been added, so naturally, the scope of these configurations is limited to compilation).
These configurations support both Module dependencies and File dependencies. For more information, see Gradle documentation. You can also configure the dependencies further as supported by Gradle. For example, to enable whether Gradle should always check for a change in the remote repository.
See Dependency configurations to handle PL dependencies for the list of configurations that should be supported in OpenEdge DevOps Framework for ABL.