Skip to content

Commit

Permalink
Merge pull request #294 from IBM/develop
Browse files Browse the repository at this point in the history
Release zAppBuild 3.1.0
  • Loading branch information
dennis-behm authored Mar 7, 2023
2 parents 83fbf19 + 9b94490 commit 5a649f0
Show file tree
Hide file tree
Showing 45 changed files with 1,267 additions and 278 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ zAppBuild comes with a set of reporting features. It helps development teams to
Folder/File | Description | Documentation Link
--- | --- | ---
build-conf | This folder contains global configuration properties used by build.groovy and language build scripts. | [build-conf/README.md](build-conf/README.md)
docs | This folder contains supplemental documentation to help explain the implementation and usage of zAppBuild features. | [docs/README.md](docs/README.md)
languages | This folder contains the language specific build scripts that are associated to build files via script mappings (see `samples/application-conf/files.properties`) and called by build.groovy. | [languages/README.md](languages/README.md)
samples/application-conf | The `application-conf` folder contains application specific configuration properties used by build.groovy and language build scripts. It is intended to be copied as a high level folder to the application repository and configured to meet the build requirments of the application. Ex. `myAppRepository/application-conf` | [samples/application-conf/README.md](samples/application-conf/README.md)
samples/MortgageApplication | This is an updated version of the original [MortgageApplication](https://github.com/IBM/dbb/tree/master/Build/MortgageApplication) sample designed to be built by zAppBuild. | [samples/MortgageApplication/README.md](samples/MortgageApplication/README.md)
Expand Down
9 changes: 9 additions & 0 deletions build-conf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ IBMZPLI_V51 | PLI Compiler Data Set for version 5.1. Example: PLI.V5R1M0.SIBMZCM
SDFHMAC | CICS Macro Library. Example: CICSTS.V3R2M0.CICS.SDFHMAC
SDFHLOAD | CICS Load Library. Example: CICSTS.V3R2M0.CICS.SDFHLOAD
SDFHCOB | CICS COBOL Library. Example: CICSTS.V3R2M0.CICS.SDFHCOB
SDFHPL1 | CICS PL1 Library. Example: CICSTS.V3R2M0.CICS.SDFHPL1
SCSQCOBC | MQ COBOL Library. Example: CSQ.V9R1M0.SCSQCOBC
SCSQPLIC | MQ PLI Library. Example: CSQ.V9R1M0.SCSQPLIC
SCSQLOAD | MQ Load Library. Example: CSQ.V9R1M0.SCSQLOAD
SDSNLOAD | DB2 Load Library. Example: DB2.V9R1M0.SDSNLOAD
SFELLOAD | Optional IDz Load Library. Example: FEL.V14R0M0.SFELLOAD
Expand Down Expand Up @@ -286,3 +288,10 @@ transfer_jclPDS | Sample dataset for JCL members
transfer_xmlPDS | Sample dataset for xml members
transfer_srcOptions | BPXWDYN creation options for creating 'source' type data sets
transfer_outputDatasets | List of output datasets to document deletions ** Can be overridden by a file property. ** If used for multiple, use a file property to set transfer_outputDatasets

### language-conf/languageConfigProps01.properties
Sample language configuration properties file used by dbb-zappbuild/utilities/BuildUtilities.groovy.

This is a custom properties file to override file properties for a group of files, based on mapping defined in `zAppBuild/samples/application-conf/languageConfigurationMapping.properties`. Multiple language configuration properties files can be defined and mapped against different file groups in `zAppBuild/samples/application-conf/languageConfigurationMapping.properties`.

Note: The name of this property file need not be `languageConfigProps01.properties`. Any name can be given to this property file and can use the same name while mapping source file in `zAppBuild/samples/application-conf/languageConfigurationMapping.properties`.
2 changes: 1 addition & 1 deletion build-conf/ZunitConfig.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

zunit_requiredBuildProperties=zunit_srcDatasets,zunit_loadDatasets,zunit_reportDatasets,zunit_bzucfgPDS,\
zunit_bzureportPDS,zunit_bzuplayPDS,zunit_srcOptions,zunit_loadOptions,zunit_reportOptions,\
jobCard,zunit_maxPassRC,zunit_maxWarnRC,zunit_playbackFileExtension,zunit_resolutionRules,\
jobCard,zunit_maxPassRC,zunit_maxWarnRC,zunit_playbackFileExtension,\
zunit_bzuplayParms,zunit_userDebugSessionTestParm, \
zunit_dependencySearch

Expand Down
18 changes: 12 additions & 6 deletions build-conf/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ buildPropFiles=datasets.properties,dependencyReport.properties,Assembler.propert
buildListFileExt=txt

#
# Service URL for the Git provider to have a visual comparision of two hashes
# Service URL for the Git provider to have a visual comparision of two hashes
# Leveraged as a build result property <props.gitRepositoryURL>/compare/
# samples: GitHub : /compare/ ; GitLab : /-/compare/
gitRepositoryCompareService=/compare/
Expand Down Expand Up @@ -44,7 +44,7 @@ applicationConfRootDir=

#
# Minimum required DBB ToolkitVersion to run this version of zAppBuild
# Build initialization process validates the DBB Toolkit Version in use and matches that against this setting
# Build initialization process validates the DBB Toolkit Version in use and matches that against this setting
requiredDBBToolkitVersion=2.0.0

#
Expand Down Expand Up @@ -116,15 +116,21 @@ continueOnScanFailure=true
# Default: true
createBuildOutputSubfolder=true

#
# Build Timestamp Format
# Applies to all build types except userBuild
# Default: yyyyMMdd.HHmmss.mmm - See Date format method pattern strings
buildOutputTSformat=yyyyMMdd.HHmmss.mmm

#
# Flag to determine if the build framework should document deletions of outputs in DBB Build Report
# for build files being mapped to language scripts
#
# Requires the DBB toolkit 1.1.3 or higher. Backward compatibility of zAppBuild is preserved,
# Requires the DBB toolkit 1.1.3 or higher. Backward compatibility of zAppBuild is preserved,
# when feature is turned off
#
#
# Default : false
documentDeleteRecords=false
documentDeleteRecords=false

# MetadataStore configuration properties:

Expand All @@ -139,7 +145,7 @@ metadataStoreType=file
#metadataStoreDb2Url=jdbc:db2:<Db2 server location>

# Db2 connection configuration property file
# Sample is povided at $DBB_HOME/conf/db2Connection.conf
# Sample is povided at $DBB_HOME/conf/db2Connection.conf
#metadataStoreDb2ConnectionConf=


Expand Down
9 changes: 9 additions & 0 deletions build-conf/datasets.properties
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,18 @@ SDFHLOAD=
# CICS COBOL Library. Example: CICSTS.V3R2M0.CICS.SDFHCOB
SDFHCOB=

# CICS PLI Library. Example: CICSTS.V3R2M0.CICS.SDFHPL1
SDFHPL1=

# MQ COBOL Library. Example: CSQ.V9R1M0.SCSQCOBC
SCSQCOBC=

# MQ PLI Library. Example: CSQ.V9R1M0.SCSQPLIC
SCSQPLIC=

# MQ Assembler Library. Example: CSQ.V9R1M0.SCSQMACS
SCSQMACS=

# MQ Load Library. Example: CSQ.V9R1M0.SCSQLOAD
SCSQLOAD=

Expand Down
11 changes: 11 additions & 0 deletions build-conf/language-conf/languageConfigProps01.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Sample of a language configuration properties file override for group languageConfigProps01

# For details, please see the file property management documentation at:
# https://github.com/IBM/dbb-zappbuild/docs/FilePropertyManagement.md

#
# Sample to merge properties of this file level overwrite with the default setting for cobol_linkEditParms
# A more exclusive overwrite would be cobol_linkEditParms=MAP
cobol_linkEditParms=${cobol_linkEditParms},MAP

# Add custom language configuration properties below if any
15 changes: 15 additions & 0 deletions build-conf/language-conf/languageConfigProps02.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Sample of a language configuration properties file override for group languageConfigProps02

# For details, please see the file property management documentation at:
# https://github.com/IBM/dbb-zappbuild/docs/FilePropertyManagement.md

#
# Sample to merge properties of this file level overwrite with the default setting for cobol_compileParms
# A more exclusive overwrite would be cobol_compileParms=SOURCE
cobol_compileParms=${cobol_compileParms},SOURCE

#
# Defines exclusively the compile options for this file
#cobol_compilerVersion=V4

# Add custom language configuration properties below if any
14 changes: 9 additions & 5 deletions build.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ import groovy.cli.commons.*
@Field def gitUtils= loadScript(new File("utilities/GitUtilities.groovy"))
@Field def buildUtils= loadScript(new File("utilities/BuildUtilities.groovy"))
@Field def impactUtils= loadScript(new File("utilities/ImpactUtilities.groovy"))
@Field def filePropUtils= loadScript(new File("utilities/FilePropUtilities.groovy"))
@Field String hashPrefix = ':githash:'
@Field String giturlPrefix = ':giturl:'
@Field String gitchangedfilesPrefix = ':gitchangedfiles:'
@Field MetadataStore metadataStore
@Field startTime = new Date()

// start time message
def startTime = new Date()
props.startTime = startTime.format("yyyyMMdd.hhmmss.mmm")
println("\n** Build start at $props.startTime")

Expand Down Expand Up @@ -446,7 +447,7 @@ def populateBuildProperties(def opts) {

props.topicBranchBuild = (props.applicationCurrentBranch.equals(props.mainBuildBranch)) ? null : 'true'
props.applicationBuildGroup = ((props.applicationCurrentBranch) ? "${props.application}-${props.applicationCurrentBranch}" : "${props.application}") as String
props.applicationBuildLabel = "build.${props.startTime}" as String
props.applicationBuildLabel = ("build." + ( (props.buildOutputTSformat) ? startTime.format("${props.buildOutputTSformat}") : "${props.startTime}" ) ) as String
props.applicationCollectionName = ((props.applicationCurrentBranch) ? "${props.application}-${props.applicationCurrentBranch}" : "${props.application}") as String
props.applicationOutputsCollectionName = "${props.applicationCollectionName}-outputs" as String

Expand Down Expand Up @@ -583,9 +584,12 @@ def createBuildList() {
}

// Loading file/member level properties from member specific properties files
if (props.filePropertyValueKeySet().getAt("loadFileLevelProperties") || props.loadFileLevelProperties) {
println "** Populating file level properties from individual property files."
buildUtils.loadFileLevelPropertiesFromFile(buildList)
if (props.filePropertyValueKeySet().getAt("loadFileLevelProperties")
|| props.filePropertyValueKeySet().getAt("loadLanguageConfigurationProperties")
|| (props.loadFileLevelProperties && props.loadFileLevelProperties.toBoolean())
|| (props.loadLanguageConfigurationProperties && props.loadLanguageConfigurationProperties.toBoolean())) {
println "** Populating file level properties from individual artifact properties files."
filePropUtils.loadFileLevelPropertiesFromFile(buildList)
}

// Perform analysis and build report of external impacts
Expand Down
Loading

0 comments on commit 5a649f0

Please sign in to comment.