Add DONT-COMPILE-HIERARCHY option to compiler - OpenEdge Development - Products Enhancements - Progress Community

 OpenEdge Development

Add DONT-COMPILE-HIERARCHY option to compiler

  • Under Review

Problem :

In a multi project setup rcode from one project ends up in another project.

Example

c inherits from b, b inherits from a, each class is in a separate project. The propath contains all projects

The compile of the 3 classes

propath = "a/tty,b/tty,c/tty,a/src,b/src,c/src".
compile ./a/src/a/a.cls save into ./a/tty.
compile ./b/src/b/b.cls save into ./b/tty.
compile ./c/src/c/c.cls save into ./c/tty.

results in

./a/tty/a/a.r
./b/tty/a/a.r
./b/tty/b/b.r
./c/tty/a/a.r
./c/tty/b/b.r
./c/tty/c/c.r

6 rcode files instead of the required 3.

This causes overhead and hard to find issues, e.g. when only one of the a.r files is recompiled.

compiler:MULTI-COMPILE = true does not help, adding it it results in 5 instead of 3 rcode files

./a/tty/a/a.r
./b/tty/a/a.r
./b/tty/b/b.r
./c/tty/b/b.r
./c/tty/c/c.r

and it wont help if each project a,b and c are compiled by there own AVM.

With the compiler:DONT-COMPILE-HIERARCHY = true

The compiler should use the already available rcode instead of recompiling and resaving the already exisitng ones.

It should only save rcode for the requested class.

sample code

Comments
  • would not save with the sample code .tgz file so I removed it