Hello Appeon Folks,
Greeting!
I have question regarding application full and incremental build. Our application is in PB2017R3 version containing 93 pbls and around 7500 PB objects.
We are currently using PBC17.0 exe to build the exe and pbds but this takes around 3 to 3 and half hours daily and constantly to build the exe and pbds.
When we were in old PB version PB12 (I don't know the exact year but should bel approx. 4 year ago) when PBC compiler was not introduced, we used to use ORCA script to build the exe and PBDs at that time also we had same pbls with around 7400 objects ( we might have added few when we switched to PB2017). The ORCA script used to take only 1 and half hours max to build the EXE and PBD.
We recently develop ORCA script for Incremental build on one PBL for patch build where we copy all the changes made in previous application release to one pbl only, make the PBD and keep this PBD on top in the library list so that it takes the recent change objects in effect. This ORCA script also used 45 min to build only one PBD. The ORCA script we used is pretty straight forward with statement (This is just an example with same syntax only path and pbl name is different)
start session set debug true
scc set connect property localprojpath "c:\shared_obj" scc set connect property logfile "c:\ test\log.log" scc connect offline scc set target "c:\test\work.pbt" "outofdate importonly" scc refresh target incremental scc refresh target 3pass
build library ".\shared_obj\upatch_test.pbl" "" pbd
scc close end session
I thought to try with only scc refresh target incremental option only but this did not refresh the upatch_test pbl with latest object changes. Also I read that with complex object inheritance better to use 3pass command and our application is using complex inheritance.
Kindly suggest better, full proof and how to quickly built the PBD and exe in POWERBUILDER.
DOTNET builds are pretty fast compared to POWERBUILDER. We may need to think about improving the build feature.
Thanks,
Vipin
Vipin Dwivedi Thursday, 27 April 2023 15:29 PM UTC Remove Accept as Answer
Continuing th old thread, I have a quesiton regarding full build. Suppose if I make changes in only few pbls say a.pbl and b.pbl. so can i keep only changed pbl in the library list and remaining as pbd to build it faster. So the targe will look like beow (when open in notepad)
Save Format v3.0(19990112)
appname "Trial";
applib "appl_temp.pbl";
LibList "appl_temp.pbl;a_functions.pbd;pfeapsrv.pbd;pfedwsrv.pbd;pfemain.pbd;pfeutil.pbd;pfewnsrv.pbd;pfcapsrv.pbd;pfcdwsrv.pbd;pfcmain.pbd;pfcutil.pbd;pfcwnsrv.pbd;a.pbl;b.pbl;c.pbd;d.pbd;e.pbd;
type "pb";
So this target contains mix of both pbd and pbl. During ORCA build use only those pbls whose objects got changed.
scc connect offline
scc set target "Trial.pbt" "importonly outofdate"
scc refresh target 3pass
build library "appl_temp.pbl" "" pbd // using this pbl as this pbl has application. Though there is no change in this libary. Do I need to add this libary?
build library "a.pbl" "" pbd
build library "b.pbl" "" pbd
build library "c.pbl" "" pbd
build executable "Trial.exe" // There will be other informations but I have skipped that for now in this example.
Please advice