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 140 forks source link

Question - BMS copybook generation when compiling a program #534

Open Ludo-cats opened 2 weeks ago

Ludo-cats commented 2 weeks ago

Hi,

BMS copybook are not stored in a PDS in our mainframe environment. We need the BMS copybook to be generated by DBB when compiling a program using this copybook. Is it possible to upgrade ZappBuild so that DBB generates BMS copybook when a program calls a BMS copybook ?

thanks

dennis-behm commented 1 week ago

@Ludo-cats

There is an indirect/loose dependency maintained between BMS maps and the programs using the map (the copybook). It is explained at: https://www.ibm.com/docs/en/dbb/2.0?topic=apis-dependency-impact-resolution#indirect-build-dependencies

So, actually, the implementation of impact analysis is going the opposite direction:

In case of modifying the MortgageApplication sample source MortgageApplication/bms/epsmlis.bms producing the copybook, zAppBuild and DBB will identify the program MortgageApplication/cobol/epsmlist.cbl referencing the generated copybook as a dependent file.

It is similar like main modules with static calls to the sub modules, we don't automatically rebuild all the sub modules. We currently have a PR out to do an expanded analysis and optionally allow customers to automatically add the sub modules to the build list.

I feel you are asking for a similar capability for BMS. Here is my question/assumption: I assume you don't want the new executable for the assembled map in your package, but are primarily interested in the latest version of the copybook, is that correct?

Generated outputs could be added back to the Git repository and be put under version control.

Looking forward to hear about your thoughts on this.