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.

Example
  • implementationAblSource for implementationAbl.
  • compileOnlyAblSource for compileOnlyAbl.
  • compilePropathSource for compilePropath.

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.