PCT ANT build with dependency checks of what needs re-compil

Posted by mliu.mike on 30-Jan-2014 09:31

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

Posted by Riverside Software on 30-Jan-2014 14:11

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.

All Replies

Posted by Riverside Software on 30-Jan-2014 09:40

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

Posted by mliu.mike on 30-Jan-2014 11:12

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

Posted by Mike Fechner on 30-Jan-2014 11:30

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?

Posted by Jeff Ledbetter on 30-Jan-2014 11:56

Roundtable TSMS does a great job at this not only for include files but subclasses, fields and tables.

Posted by Riverside Software on 30-Jan-2014 14:11

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.

Posted by mliu.mike on 31-Jan-2014 08:49

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

Posted by Riverside Software on 31-Jan-2014 10:37

I'd suggest to recompile the entire tree. There are some cases which can't be handled by PCT for now.

This thread is closed