TD-26634: Commandline builds using new switch -S for completely silent builds

Missing or incomplete OpenText Gupta product features? Discuss it here!
Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 3384
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

TD-26634: Commandline builds using new switch -S for completely silent builds

Post by Dave Rabelink » 01 Jan 2023, 15:27

Feature request registered as ticket CS0057817, TD-26634

This was the text given in the service ticket:


To automatically build sources we can use the build option switches of cbiXX.exe:

-B, to build executables
-M, to build dynalibs

Big problem with the current command-line build feature is that it is not silent.
When using continuous integration (CI) or continuous delivery (CD), TD applications are automatically build using batch files/PowerShell scripts or other build tools (like FinalBuilder).
These build actions are mostly performed on dedicated servers. Also local builds can be performed.

Builds executed from command line should never present error messages, progress screens or any other visual action forms/dialogs which needs user interaction.
When builds are performed on servers and common errors occur which present GUI’s, users have to connect to those servers and close them manually or else the process is just halted. This hinders CI and CD severely.
Mainly the purpose of CI/CD is to automatically build applications and the result of that build is used to inform the CI process the applications can be compiled and build and that next steps in the development process can proceed.

When building locally, on developer machines, when GUI’s like the progress window is presented, it will steal the focus of other applications which are in use.
This hinders working on those systems while TD builds are going on. Also dangerous is the fact that the progress window offers to cancel the build.
So while developers are working on those machines and press enter, click using mouse in their application currently in use, they could cancel the build process by accident. Which means starting the whole process over from beginning.
To avoid these issues, the workstation which has started the automated build process cannot be used at all which can take hours.
This forces developers to run these builds on other machines which could present blocking GUI’s during the build process, as explained above.

So the current implementation of the command-line build feature in TD does not meet the requirements for CI/CD at all.

Therefore, this feature request:

Introduce a new command-line switch –S

(this will then not break existing way TD uses the command-line build, it is therefore an addition to the feature)

This will build applications purely silent where no GUI’s are ever presented. Errors during load/compile/build will always be written to the .err file.
The cbixx.exe process will always return the success/failure using EXIT CODES.

To show the problems with the current feature a small demo batch script and some sources are created. See attachment.
By running the batch, several tests are performed to prove that in some cases GUI’s are presented.
The new feature –S should prevent those GUI’s to popup.

These issues are found but maybe others could be present also. Use the batch file to see them live.
(1) During load/compile/build, a progress window is shown which messes up focus of apps and can cancel process
(2) When dynalib include not found a messagebox is presented
(3) When input source is not found, a file select dialog is presented. It should just error out.
(4) When output file specification is invalid, the process crashes leaving a .tmp file
(5) When destination dynalib is already present AND the file is readonly, a messagebox is presented
(6) NO EXITCODES are returned from cbiXX.exe to inform the result of the build. So calling processes are not able to check if a build succeeded or not.
Extra coding needs to be implemented to get the build result by checking the existence of an .err file or the non-existence of the build file.

Lower priority feature request but also important is a new -V switch (verbose).
This will dump text info on stdout, just like MSBUILD does to show the steps taken in loading/compiling and building and present the result OK or ERROR.
You do not have the required permissions to view the files attached to this post.
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

RainerE
Germany
Posts: 2204
Joined: 27 Apr 2021, 12:40
Location: Germany

Re: Commandline builds using new switch -S for completely silent builds

Post by RainerE » 02 Jan 2023, 08:22

Ok, helpful.

But we are running automated builds and automated tests on a dedicated Gupta Build Servers each night for many years now and we never had one of the problems described...

Rainer

thomas.uttendorfer
Site Admin
Site Admin
Germany
Posts: 292
Joined: 05 Mar 2017, 17:19
Location: Munich Germany

Re: Commandline builds using new switch -S for completely silent builds

Post by thomas.uttendorfer » 02 Jan 2023, 11:00

Hi David,

great request.
We sometimes have problems with nightly builds and an S-Switch would be helpful.

An S-switch for Team Object Manager would be useful too.
There is a problem when a subdirectory is missing - then it just hangs.
Or the account was hanging from last session.
We solve these kind of problems in advance with separate tools to ensure a proper setup - but a switch would be much better.
Regards Tom
Thomas Uttendorfer
[ frevel & fey ] Software-System GmbH
https://thomasuttendorfer.wordpress.com/

Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 3384
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

Re: Commandline builds using new switch -S for completely silent builds

Post by Dave Rabelink » 02 Jan 2023, 11:38

RainerE wrote:
02 Jan 2023, 08:22
..we never had one of the problems described...
Did you get the exit codes working? If so, how?

Specially the dynalib not found issue is a bugger. When a dynalib was not built (due to whatever reason) and later on sources are being processed including that dynalib, the process just hangs with a messagebox.
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 3384
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

Re: Commandline builds using new switch -S for completely silent builds

Post by Dave Rabelink » 02 Jan 2023, 11:46

Ah, maybe I forgot to add another feature request which is related: the progress window when using the CDK.

I have CDK tools running on large codebases to check stuff (on ad hoc basis) and this processing takes time.
During that I would like to work on other stuff, but this is nearly impossible as the progress window is constantly popping up and steals the focus away from the other applications.
And how many times I clicked within another application and, Murphy's law, right on top of the progress window cancel button.

This stuff should just run in the background.

I will create a separate feature request for this. I have seen that when putting too much requests in one ticket, the one or the other will not get picked up.
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

RainerE
Germany
Posts: 2204
Joined: 27 Apr 2021, 12:40
Location: Germany

Re: Commandline builds using new switch -S for completely silent builds

Post by RainerE » 02 Jan 2023, 15:14

Dave Rabelink wrote:
02 Jan 2023, 11:38
Did you get the exit codes working? If so, how?
We do not use the exit codes.
We have a separate process which checks that all files are rebuild.
After this an automated test runs ~5 hours and checks, that everything is working properly.
All of this runs on a separate virtual Windows 10 machine...
Specially the dynalib not found issue is a bugger. When a dynalib was not built (due to whatever reason) and later on sources are being processed including that dynalib, the process just hangs with a messagebox.
Ok, we do not use dynalibs.
We used them with 16bit Sql Windows 5.5 and had many problems.
So we decided not to use them any more.

=> Additional switches as you request them could be helpful.

Rainer

Igor Ivanovic
Site Admin
Site Admin
Croatia
Posts: 1462
Joined: 05 Mar 2017, 12:37
Location: Zagreb, Croatia

Re: Commandline builds using new switch -S for completely silent builds

Post by Igor Ivanovic » 02 Jan 2023, 17:16

Dave Rabelink wrote:
02 Jan 2023, 11:46
Ah, maybe I forgot to add another feature request which is related: the progress window when using the CDK.

I have CDK tools running on large codebases to check stuff (on ad hoc basis) and this processing takes time.
During that I would like to work on other stuff, but this is nearly impossible as the progress window is constantly popping up and steals the focus away from the other applications.
And how many times I clicked within another application and, Murphy's law, right on top of the progress window cancel button.

This stuff should just run in the background.

I will create a separate feature request for this. I have seen that when putting too much requests in one ticket, the one or the other will not get picked up.
I don't use batch builds, but have CDK tools which I use almost regularly, and the progress window is really a PITA.
So I really welcome this feature request.

Hopefully this one will resolve the Migration Wizard issue also with popup windows for every single file, and if there is an error in the process you have to use some woodu stuff to find out which file has produced an error...
Igor Ivanovic
Image

Dave Rabelink
Founder/Site Admin
Founder/Site Admin
Netherlands
Posts: 3384
Joined: 24 Feb 2017, 09:12
Location: Gouda, The Netherlands

Re: TD-26634: Commandline builds using new switch -S for completely silent builds

Post by Dave Rabelink » 04 Jan 2023, 11:46

Response from OpenText:
It appears that Development has added the feature request scheduled for TD version 7.6.

For your reference, please find the enhancement request details :

TD - 26634 -- Command line builds using new switch -S for completely silent builds
Regards,
Dave Rabelink

Image
Articles and information on Team Developer Tips & Tricks Wiki
Download samples, documents and resources from TD Sample Vault
Videos on TDWiki YouTube Channel

Return to “Enhancement suggestions”

Who is online

Users browsing this forum: [Ccbot] and 1 guest