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
40 stars 124 forks source link

Help required for a customized link edit Step #357

Closed RichyMueller closed 11 months ago

RichyMueller commented 1 year ago

Hi,

for a PoC we installed DBB. We are using Endevor for production system, but want to move to DBB We customized a vscode environment and are now investigating and learning about building cobol programms with zAppbuild and DBB.

Simple compiles are running so far. Now we are at a point we try for some days to link edit a programm with further link cards.

First we have a third party lib with several stubs we want to link to the cobol programm. Were can I put the 3rd party lib ?

I put the special third party lib in the LinkEdit.properties

linkedit_linkEditSyslibConcatenation=3rdpartylib Is this the right place ?

Up to now I did noit find out how to configure the various property files to use the link card for the special programm

In Endevor it is like this: Complie EPP10000 and then link edit it with

INCLUDE SZDTLOAD(DTSTUB) this is the 3rd party lib. Behind the SZDTLOAD is a pds with different stubs .
ALIAS EPP10000
ALIAS EPP10001
ALIAS EPP10002
ALIAS EPP10003

We generate a lot of aliases for the above programm. But how can I route the above sample link card to the LinkEdit.groovy.

We use some cobol programs which are invoking Java classes.

Were can I put the java classes for the linker In Endevor we use link cards for the related programs like the following :

INCLUDE '/usr/lpp/java/J8.0/bin/j9vm/libjvm.x' INCLUDE '/AWA5/m/cobol/v64/lib/igzcjava.x'
MODE AMODE(31),RMODE(ANY)

I would ask for help/advice how to configure aplication and build properties to use link cards for several programms.

I am reading the documents since days but did not understand how to route linkcards to the linkEdit

Thanks

dennis-behm commented 1 year ago

Hi @RichyMueller , trying to provide some hints:

zAppBuild has multiple ways to build source code:

In the second case, DBB is capable to automatically detect that there is a dependency between the source code and the link card. This dependency is captured by scanning the load module for its CSECTs. So you can expect in pipeline builds that, when you change the source, the link card will be automatically added to the build list.

Please also have a read of the File Property Management in zAppBuild and DBB.

As you might have seen in the code, today's implementation of the COBOL language script is not checking if a link card exists and then uses it (The way of your question/description implies that this your expectation?)

dennis-behm commented 11 months ago

@RichyMueller and I had a offline conversation on this and resolved the issue, which was more about how zAppBuild is operating with link card managed in the version control system.

I am closing this issue. Feel free to your the discussion board of zAppBuild or reach out to us if you need a hand.