PCTCompileExt - niandy/pct GitHub Wiki
This task is a rewrite of PCTCompile ; the only difference is this task is using a background Progress session, and the Java part controls the compilation. This allows more things : one example could be using custom mappers (see examples).
Warning : there are some discrepancies between the original PCTCompile task and this one ; if you encounter a bug, please first test using PCTCompile before opening an issue. Bugs in PCTCompile are always considered first.
<pct:compile_ext />
| Attribute | Description |
|---|---|
| numThreads | Starts n parallel compilation threads. Default value is 1. |
| destDir ‡ | Directory where to put compiled code |
| minSize | Compile using option MIN-SIZE=<value>
|
| MD5 | Compile using option GENERATE-MD5=<value>
|
| streamIO | Compile using option STREAM-IO=<value>
|
| v6Frame | Compile using option V6FRAME=<value>
|
| runList | Generates a .run file for each compiled file, which summarizes RUN statements |
| Listing | Generates a listing file for each compiled file (LISTING attribute of COMPILE statement). Generated file name is identical to source file name. |
| Preprocess | Generates a preprocessed file for each compiled file (PREPROCESS attribute of COMPILE statement). Generated file name appends .preprocess to source file name. |
| preprocessDir | Target directory where preprocessed files are written |
| DebugListing | Generates a debug-listing file for each compiled file (DEBUG-LIST attribute of COMPILE statement). Generated file name appends .dbg to file name |
| debugListingDir | Target directory where debug listing files are written |
| keepXref | Keeps the generated XREF file for each file. Generated file name replaces extension of source file name with .xref |
| failOnError | If task should end just after a failed file compilation |
| noParse | Always recompile, and skip XREF generation as well as .crc and .inc files |
| XRefDir | Where PCT files (CRC, includes, preprocess, listing and debug-listing) should be created |
| forceCompile | Always compile everything |
| XCode | Compiles using XCODE option |
| XCodeKey | Sets specific key for encrypted procedures |
| noCompile | Just prints files to recompile with the reason why, without executing COMPILE statement |
| Languages | Identifies which language segments to include in the compiled r-code. LANGUAGES option of the COMPILE statement |
| textGrowth | TEXT-SEG-GROWTH option of the COMPILE statement |
| multiCompile | Set COMPILER:MULTI-COMPILE attribute |
| relativePaths | Use relative paths instead of absolute paths for propath and filesets |
| † Only one of those attributes is mandatory ‡ Mandatory attribute |
PCTCompile inherits attributes from PCT and PCTRun.
Adds a file set to the file list to compile
Adds a custom mapper
<PCTCompileExt destDir="build" dlcHome="${env.DLC}">
<fileset dir="src">
<include name="**/*.p"/>
<exclude name="test/**"/>
</fileset>
<propath>
<pathelement path="src/include"/>
</propath>
<mapper type="flatten" />
</PCTCompileExt>Compiles every .p in src directory (and subdirs) except those from src/test, with PROPATH set to src/include, and put .r in build directory (removing any subdirectory reference), i.e. src/foo/bar.p results in build/bar.r
<PCTCompileExt destDir="build" dlcHome="${env.DLC}">
<fileset dir="src">
<include name="**/*.p"/>
</fileset>
<compositemapper>
<regexpmapper from="^(.*)\.p$$" to="\1renamed.r" />
<regexpmapper from="^(.*)\.t$$" to="triggers/\1.r" />
</compositemapper>
</PCTCompileExt>Compiles every .p in src directory (and subdirs), and apply a regexp for resulting file : any .p file results in a .r file appended with renamed, and any .t file results in .r file compiled in triggers directory.
<PCTCompileExt numThreads="3" destDir="build" dlcHome="${env.DLC}">
<fileset dir="src">
<include name="**/*.p"/>
<include name="**/*.w"/>
</fileset>
</PCTCompileExt>Compiles every .p and .w in src directory (and subdirs), with 3 compilation threads.