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

Ability to print file attributes and including their overrides #343

Closed dennis-behm closed 1 year ago

dennis-behm commented 1 year ago

This PR is enhancing zAppBuild to print file attributes of the build file in verbose output mode of zAppBuild and implements #339.

It provides insights to developers if a file property is overriding the default attribute when scanning the build file with the DBB dependency scanner.

An asterisk (*) is indicating if an override is changing the flag. When values are identical, no asterisk is presented:

DBB File attributes: CICS=true*, SQL=false, DLI=false, MQ=false

The feature is available for build files mapped to Cobol.groovy, PLI.groovy and Assembler.groovy.

Sample output for MortgageApplication/cobol/epscsmrt.cbl

*** Building file MortgageApplication/cobol/epscsmrt.cbl
*** Resolution rules for MortgageApplication/cobol/epscsmrt.cbl:
search:/u/dbehm/userBuild/?path=MortgageApplication/copybook/*.cpy
/u/dbehm/userBuild>
*** Physical dependencies for MortgageApplication/cobol/epscsmrt.cbl:
{"excluded":false,"sourceDir":"\/u\/dbehm\/userBuild\/","lname":"EPSMTCOM","library":"SYSLIB","file":"MortgageApplication\/copybook\/epsmtcom.cpy","category":"COPY","resolved":true}
{"excluded":false,"sourceDir":"\/u\/dbehm\/userBuild\/","lname":"EPSMTINP","library":"SYSLIB","file":"MortgageApplication\/copybook\/epsmtinp.cpy","category":"COPY","resolved":true}
{"excluded":false,"sourceDir":"\/u\/dbehm\/userBuild\/","lname":"EPSMTOUT","library":"SYSLIB","file":"MortgageApplication\/copybook\/epsmtout.cpy","category":"COPY","resolved":true}
{"excluded":false,"sourceDir":"\/u\/dbehm\/userBuild\/","lname":"EPSPDATA","library":"SYSLIB","file":"MortgageApplication\/copybook\/epspdata.cpy","category":"COPY","resolved":true}
DBB File attributes: CICS=true*, SQL=false, DLI=false, MQ=false
Cobol compiler parms for MortgageApplication/cobol/epscsmrt.cbl = LIB,CICS,ADATA,EX(ADX(ELAXMGUX))
Link-Edit parms for MortgageApplication/cobol/epscsmrt.cbl = MAP,RENT,COMPAT(PM5)
** Generated linkcard input stream: 
dennis-behm commented 1 year ago

@donnellt

What do you think about this output instead of talking about Logical file attributes or File attributes?

 Program attributes: CICS=true, SQL=true*, DLI=false, MQ=false