Skip to content

Configuring Project Defaults

zerovian edited this page Mar 26, 2020 · 4 revisions

A task named abl is provided where default configuration can be supplied. These defaults will apply to all tasks that support the named property. For example, the compilation of ABL supports propath, env, and database connections that can be specified at the default level.

Configuring the Default PROPATH

abl {
    // Example PROPATH that includes bin and src directories 
    propath = files(['bin', 'src'])
}

Configuring the Default OpenEdge Installation Directory.

You can specify a global default OpenEdge installation directory. If not specified, then it defaults back to the environment variable value of DLC. The value is required to be a valid directory.

abl {
    dlcHome = new File("$System.env.DLC")
}

This specifies the dlcHome value for all tasks that do not specify the dlcHome property. You can override the dlcHome for each individual task, like so:

task runAbl(type : oe.espresso.latte.RunAbl) {

    procedure = file("src/abl/ablrun.p").path

    dbConnections << 'sports2020'
    dlcHome = new File("c://progress/openedge120")
}

Configuring the Default R-code Destination Directory

You can specify the destination directory for where r-code is saved during a compile. You can configure this per task, or set it as a global default.

abl {
    rcodeDir = "${buildDir}/rcode"
}

Configuring Environment Variables

A set of default Environment variables can be configured for all tasks provided by the plugin. These are a default set, and task configurations can add additional environment variables, or replace all of the defaults. These environment variables are passed to any invocation of _progress, _proserve, or other executables that are run externally.

abl {
   environment = ["bob", "marley"]
}

Here is an example of overwriting an environment variables to an ABL run task that may have a default set.

task runAbl(type: oe.espresso.latte.RunAbl) {
    dependsOn connectDB

    procedure = file("src/abl/ablrun.p").path

    dbConnections << 'sports2020'

    env("bob", "ross")
}

Retrieving OpenEdge version

You can retrieve the OpenEdge version from the abl extension. You can use the following properties

  • major - returns major version number as a string
  • minor - returns minor version number as a string
  • revision - returns revision patch number as a string
  • full - returns full version string fetched from $DLC/version as a string
  • rcode - returns the openedge r-code version as a string
  • bitness - returns either "64" or "32" as a string
task printVersion() {
   println 'OpenEdge version (major = $abl.version.major, minor = $abl.version.minor, revision = $abl.version.revision '
}