We have millions of lines of legacy code with too many include files.
Is there a way of recompiling only those procedures whose dependent include files got changed?
Otherwise we are left to re-compiling everything if any include file got changed or we will have to write out own program to create our own dependency tree to detect what to recompile.
Thanks,
Mike
If you want to understand the rules, you should have a look at src/progress/pct/v11/pctCompile.p
Only Progress code for those rules, no Java code.
Hi Mike,
The default behavior of PCT is to only recompile in the following cases :
* rcode not available anymore
* table CRC changed
* include file changed
The build/ folder contains a .pct subfolder, which contains the dependencies.
Gilles
Thank you Gilles.
I found the .pct subfolder and I have started looking into the contents of the .hierarchy, .inc, .crc files per .P.
I looking for where in the java code the hierarchy is checked so that I can understand the rules clearly.
It would seem it would be one of the classes extending from BaseExtendSelector but I have not yet found the java program that checks the hierarchy or other dependencies.
Can you please point me there?
Mike
Point is, PCT should do compilation only when neede (like when an Include file changed) out of the "box".
What settings do you use on the PCTCompile task?
Roundtable TSMS does a great job at this not only for include files but subclasses, fields and tables.
If you want to understand the rules, you should have a look at src/progress/pct/v11/pctCompile.p
Only Progress code for those rules, no Java code.
That is great. I am having a look at it.
What about implements and extends in .cls? Is it mature to detect changes in the parent class or interface definitions?
Mike
I'd suggest to recompile the entire tree. There are some cases which can't be handled by PCT for now.