This PR provides refactoring & enhancements for DBB 2.0.2 support. Along with build map support, this PR also updates zAppBuild for the latest DBB metadata organization which uses build groups to contain both build results and collections. This PR also replaces any DBB API calls that are deprecated in DBB 2.0.2 with viable replacements as appropriate.
See detailed list of changes below for additional information:
Changes Made:
Use EnvVars for user property retrieval wherever possible
Use BuildGroup to house both build result and collections
use build group name (applicationBuildGroup) as they exclusive identifier with similar naming convention to the previous collection names: ${props.application}-${props.applicationCurrentBranch}
use sources and outputs as the sources and outputs collections identifiers
Introduce initMetadataArtifacts() method in build.groovy to handle initialization of all metadata artifacts required for build
Handles migration from legacy collections if they exist
Uses new MDS build group creation APIs - createBuildGroup() and createTopicBranchBuildGroup()
BuildMap generation support:
Introduce buildMapsEnabled property in application.properties. Default = "false". Use as the main property to disable build map generation. However, setting the property to true will not always generate build maps. See behavior below:
Build Maps will not be generated if there is no metadatastore available (user-build) or if zAppBuild detects this is a topic branch build.
Refactor and add build map support to the following language scripts, where DBB APIs are available to support the language script structure:
Assembler.groovy
BMS.groovy (*using impact searchpath for build map input population dependency resolution)
Cobol.groovy
Easytrieve.groovy
LinkEdit.groovy (*using impact searchpath for build map input population dependency resolution)
PLI.groovy
REXX.groovy
Fixed defect in ImpactUtilities.saveStaticLinkDependencies where a cached live "sources" logical file was being edited and then reflected on the cache on subsequent calls to the SearchPathDependencyResolver. To resolve, used logical file returned from Link Edit Scanner and set language & subsystem attributes from sources logical file.
This PR provides refactoring & enhancements for DBB 2.0.2 support. Along with build map support, this PR also updates zAppBuild for the latest DBB metadata organization which uses build groups to contain both build results and collections. This PR also replaces any DBB API calls that are deprecated in DBB 2.0.2 with viable replacements as appropriate.
See detailed list of changes below for additional information:
Changes Made:
applicationCollectionName
,applicationOutputsCollectionName
applicationBuildGroup
) as they exclusive identifier with similar naming convention to the previous collection names:${props.application}-${props.applicationCurrentBranch}
sources
andoutputs
as the sources and outputs collections identifiersinitMetadataArtifacts()
method in build.groovy to handle initialization of all metadata artifacts required for buildcreateBuildGroup()
andcreateTopicBranchBuildGroup()
buildMapsEnabled
property in application.properties. Default = "false". Use as the main property to disable build map generation. However, setting the property to true will not always generate build maps. See behavior below: