IBM / dbb-zappbuild

zAppBuild is a generic build solution for building z/OS applications using Apache Groovy build scripts and IBM Dependency Based Build (DBB) APIs.
Apache License 2.0
41 stars 141 forks source link

How To - Search for a solution to dynamically manage the provision of external modules at the Linkedit stage #353

Open FALLAI-Denis opened 1 year ago

FALLAI-Denis commented 1 year ago

Hi,

In general we favor dynamic calls which avoids having to manage SYSLIB concatenations during Linkedit. Unfortunately there are exceptions, especially with assembly programs (which few people know how to manage properly today).

With the switch to IBM DBB, we have come to manage a build context that is completely independent of the run context. For call interfaces between Applications, we have a mechanism for exposing and importing copybooks / includes based on Git repositories: the calling application imports the Git repositories dedicated to storing the copybooks / includes of the called Applications, (and thanks to the sparse checkout mechanism we manage the level of sharing of copybooks / includes : public, protected, private...).

We are looking for a similar solution allowing us to expose and reference object modules / programs between Applications for static calls. Each Application is stored in its own Git Repository, produce its own packages of built components.

This solution must meet the following constraints:

I would be interested to know the solutions that other DBB users have been able to implement for the management of static calls between Applications, as well as to have implementation suggestions from the IBM team.

Thanking you in advance for your suggestions and feedback.

FALLAI-Denis commented 1 year ago

Hi,

For information, I watched the video IBM Z DevOps: Strategies to manage static linkage scenarios with DBB and zAppBuild.

Unfortunately it does not deal with the subject that I exposed here: how to manage static linking between different applications, without having to permanently maintain PDS data sets on the z/OS build system, containing the referenced object modules or programs (because you can also link programs to each other).