Skip to content

CompileABLTask

zerovian edited this page Feb 26, 2020 · 9 revisions

Example

Create a foo.p file in a folder src/abl:

MESSAGE "hello".

Add this code to the build.gradle in your project:

plugins {
  id "oe.espresso.latte" version "<version>"
}
    
import oe.espresso.latte.*

task compileCode(type: CompileAblTask) {
    dependsOn updateSchema
 
    source('src/abl')
    include('**/*.p')

    compileArgs.keepXref = true
    compileArgs.debugListing = true

    dbConnections << 'sports2020'

    destinationDir = file("${buildDir}")
}

Use the command ./gradlew compileCode to run this example.

If successful, there should be a foo.r in your build folder.

CompileArgs Properties

These are the various properties that can be set via compileArgs.

Attribute Required Description Default value
destDir No Directory where to put compiled code None
stopOnError No If set to true, stop compilation as soon as an error occurs True.
numThreads No Starts n parallel compilation threads. Don't use multiple threads when compiling classes 1
multiCompile No Change COMPILER:MULTI-COMPILE attribute False
minSize No Boolean value of MIN-SIZE option False
MD5 No Boolean value of GENERATE-MD5 option False
streamIO No Boolean value of STREAM-IO option False
v6Frame No Boolean value of V6FRAME option False
useUnderline No USE-UNDERLINE option of V6FRAME False
useRevVideo No USE-REVVIDEO option of V6FRAME False
runList No True to generate a .run file for each compiled file, which summarizes RUN statements False
listing No Boolean value of LISTING option. Generated file name is identical to source file name, and is stored in xrefDir False
listingSource No Generates listing file from preprocessed source code (value preprocessor) or from standard source code (empty value or not defined) False
preprocess No Boolean value of PREPROCESSattribute. Generated file name appends .preprocess to source file name, and is stored in preprocessDir False
preprocessDir No Target directory where preprocessed files are written <destDir>/.pct
debugListing No Boolean value of DEBUG-LIST option. Generated file name appends .dbg to file name, and is stored in debugListingDir False
debugListingDir No Target directory where debug listing files are written destDir/.pct
flattenDebugListing No Flattens directory structure for debug listing files True
stringXref No Boolean value of STRING-XREFoption. Generated file name appends .strxref to source file name False
appendStringXref No Appends STRING-XREF to a single file False
keepXref No Keeps the generated XREF file for each file. Generated file name replaces extension of source file name with .xref False
noParse No Always recompile, and skip XREF generation as well as .crc and .inc files False
xrefDir No Target directory where PCT files (CRC, includes, preprocess, listing) are created <destDir>/.pct
xmlXref No Generates XREF in XML format False.
forceCompile No Always compile everything False.
xcode No Compiles using XCODE option. Disables XREF and LISTING options False.
xcodeKey No Sets specific key for encrypted procedures. Deprecated: use XCodeSessionKey attribute in PCTRun None
languages No Comma-separated list of language segments to include in the compiled r-code. LANGUAGES option of the COMPILE statement None
textGrowth No TEXT-SEG-GROWTH option of the COMPILE statement None
relativePaths No Use relative paths instead of absolute paths for propath and filesets. Every fileset dir has to be in propath. False
progPerc No Show progression percentage every x percent. 0 (not displayed)
displayFiles No 1 will display files to be recompiled (and reason). 2 will display all files. 0 doesn't display anything 0 (no display)
requireFullKeywords No Strict-mode compiler option (11.7+). Output redirected to .warnings files in .pct directory False
requireFullNames No Strict-mode compiler option (11.7+). Output redirected to .warnings files in .pct directory False
requireFieldQualifiers No Strict-mode compiler option (11.7+). Output redirected to .warnings files in .pct directory False

Please refer to PCTCompile for more information.