Skip to content

Commit

Permalink
Merge pull request #562 from IBM/develop
Browse files Browse the repository at this point in the history
Release zAppBuild 3.10.0
  • Loading branch information
dennis-behm authored Nov 13, 2024
2 parents f3dfad6 + 237fa4b commit 7527814
Show file tree
Hide file tree
Showing 43 changed files with 807 additions and 624 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@
*.mac zos-working-tree-encoding=ibm-1047 git-encoding=utf-8
*.json zos-working-tree-encoding=utf-8 git-encoding=utf-8
*.yaml zos-working-tree-encoding=utf-8 git-encoding=utf-8

# TAZ recording file
*.rec binary
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ The zAppBuild sample provides the following *language* build scripts by default:
* DBDgen.groovy
* PSBgen.groovy
* MFS.groovy
* ZunitConfig.groovy
* TazUnitTest.groovy
* CRB.groovy
* Transfer.groovy (for transport non-buildable files like JCL or PROC into build libraries and register them as build output)
* Easytrieve.groovy
* zCEE2.groovy
* zCEE3.groovy (for z/OS Connect OpenAPI 3 specification)

All language scripts both compile and optionally link-edit programs. The language build scripts are intended to be useful out of the box but depending on the complexity of your applications' build requirements, may require modifications to meet your development team's needs. By following the examples used in the existing language build scripts of keeping all application specific references out of the build scripts and instead using configuration properties with strong default values, the zAppBuild sample can continue to be a generic build solution for all of your specific applications.

Expand Down
2 changes: 1 addition & 1 deletion build-conf/Easytrieve.properties
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@ easytrieve_printTempOptions=cyl space(5,5) unit(vio) blksize(133) lrecl(133) rec

#
# List of output datasets to document deletions
easytrievel_outputDatasets=${easytrieve_loadPDS}
easytrieve_outputDatasets=${easytrieve_loadPDS}

5 changes: 5 additions & 0 deletions build-conf/GlobalOptions.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Releng properties used by zAppBuild

# Default allocation options for in-stream DD statements
global_instreamDataTempAllocation=tracks space(5,5) unit(vio) blksize(80) lrecl(80) recfm(f,b) new

40 changes: 23 additions & 17 deletions build-conf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ SCSQLOAD | MQ Load Library. Example: CSQ.V9R1M0.SCSQLOAD
SDSNLOAD | DB2 Load Library. Example: DB2.V9R1M0.SDSNLOAD
SDSNEXIT | DB2 Exit Library. Example: DBC0CFG.SDSNEXIT
SFELLOAD | Optional IDz Load Library. Example: FEL.V14R0M0.SFELLOAD
SBZUSAMP | Optional z/OS Dynamic Test Runner IDz zUnit / WAZI VTP library containing necessary copybooks. Example : FEL.V14R2.SBZUSAMP
SEQASAMP | Optional IBM Debug Tool library containing necessary TAZ copybooks. Example : DEBUG.V16.SEQASAMP
EZETLOAD | Easytrieve Load Library. Example for IBM Migration Utility: SYS1.SFSYLOAD

### build.properties
Expand Down Expand Up @@ -73,6 +73,13 @@ impactBuildOnBuildPropertyList | List of build property lists referencing which
documentDeleteRecords | Option determine if the build framework should document deletions of outputs in DBB Build Report. Default: false.
dbb.LinkEditScanner.excludeFilter | DBB configuration property used by the link edit scanner to exclude load module entries

### GlobalOptions.properties
General options that are reused by multiple language scripts

Property | Description
--- | ---
global_instreamDataTempAllocation | Default allocation options for in-stream DD statements

### dependencyReport.properties
Properties used by the impact utilities to generate a report of external impacted files

Expand Down Expand Up @@ -277,21 +284,21 @@ acbgen_outputDatasets | List of output datasets to document deletions ** Can be
acbgen_pgm | MVS program name of the acbgen pgm
acbgen_deployType | Deploy Type of build outputs

### ZunitConfig.properties
Build properties used by zAppBuild/language/ZunitConfig.groovy
### TazUnitTest.properties
Build properties used by zAppBuild/language/TazUnitTest.groovy

Property | Description
--- | ---
zunit_bzucfgPDS | Dataset to move BZUCFG files to from USS
zunit_bzureportPDS | Dataset where BZUCRPT files are stored
zunit_bzuplayPDS | Dataset to move zUnit Playback files to from USS
zunit_srcDatasets | Comma separated list of 'source' type data sets
zunit_srcOptions | BPXWDYN creation options for creating 'source' type data sets
zunit_loadDatasets | Comma separated list of 'load module' type data sets
zunit_loadOptions | BPXWDYN creation options for creating 'load module' type data sets
zunit_reportDatasets | Comma separated list of 'report' type data sets
zunit_reportOptions | BPXWDYN creation options for creating 'report' type data sets
zunit_dependenciesDatasetMapping | DBB property mapping to map dependencies to different target datasets
tazunittest_bzucfgPDS | Dataset to move BZUCFG files to from USS
tazunittest_bzureportPDS | Dataset where BZUCRPT files are stored
tazunittest_bzuplayPDS | Dataset to move zUnit Playback files to from USS
tazunittest_srcDatasets | Comma separated list of 'source' type data sets
tazunittest_srcOptions | BPXWDYN creation options for creating 'source' type data sets
tazunittest_loadDatasets | Comma separated list of 'load module' type data sets
tazunittest_loadOptions | BPXWDYN creation options for creating 'load module' type data sets
tazunittest_reportDatasets | Comma separated list of 'report' type data sets
tazunittest_reportOptions | BPXWDYN creation options for creating 'report' type data sets
tazunittest_dependenciesDatasetMapping | DBB property mapping to map dependencies to different target datasets

### zCEE3.properties
Application properties used by zAppBuild/language/zCEE3.groovy
Expand All @@ -300,17 +307,16 @@ Property | Description
--- | ---
zcee3_shellEnvironment | Shell environment used to run the gradle command
zcee3_gradlePath | Path to gradle executable
zcee3_gradle_JAVA_OPTS | JAVA Options used with gradle
zcee3_gradle_debug | Flag to indicate if debug option should be added

### zCEE2.properties
Application properties used by zAppBuild/language/zCEE2.groovy

Property | Description
--- | ---
zcee2_zconbtPath | Absolute path to zconbt executable on z/OS UNIX System Services
zcee2_JAVA_HOME | Java installation used by the zconbt utility
zcee2_inputType | Mapping of input files with types of files
zcee2_ARA_PackageArtifacts | Flag to indicate if artifacts produced for the ARA processing should be packaged
zcee2_inputType | Mapping of input files with types of projects/files
zcee2_ARA_packageArtifacts | Flag to indicate if artifacts produced for the ARA processing should be packaged

### CRB.properties
Application properties used by zAppBuild/language/CRB.groovy
Expand Down
6 changes: 3 additions & 3 deletions build-conf/REXX.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
# Comma separated list of required build properties for REXX.groovy
rexx_requiredBuildProperties=rexx_srcPDS,rexx_objPDS,rexx_loadPDS,\
rexx_cexecPDS, rexx_compiler,rexx_linkEditor,rexx_tempOptions, \
SFANLMD, \
rexx_dependencySearch
SFANLMD, rexx_dependencySearch, \
rexx_compileMaxRC, rexx_linkEditMaxRC, rexx_linkEdit

#
# rexx compiler name
Expand Down Expand Up @@ -53,5 +53,5 @@ rexx_outputDatasets=${rexx_cexecPDS},${rexx_loadPDS}
# rexx_dependenciesDatasetMapping = rexx_macroPDS :: **/rexxmacros/*.rexx
#
# default copies all dependencies into the dependency dataset definition which was previously passed to the utilities/BuildUitilities.copySourceFiles method
# rexx_dependenciesDatasetMapping = rexx_srcPDS :: **/*
# rexx_dependenciesDatasetMapping = rexx_srcPDS :: **/*
rexx_dependenciesDatasetMapping = rexx_srcPDS :: **/*
33 changes: 33 additions & 0 deletions build-conf/TazUnitTest.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Releng properties used by language/TazUnitTest.groovy

tazunittest_requiredBuildProperties=tazunittest_srcDatasets,tazunittest_loadDatasets,tazunittest_reportDatasets,tazunittest_bzucfgPDS,\
tazunittest_bzureportPDS,tazunittest_bzuplayPDS,tazunittest_srcOptions,tazunittest_loadOptions,tazunittest_reportOptions,\
tazunittest_jobCard,tazunittest_maxPassRC,tazunittest_maxWarnRC,tazunittest_playbackFileExtension,\
tazunittest_eqaplayParms,tazunittest_userDebugSessionTestParm, \
tazunittest_dependencySearch

tazunittest_bzucfgPDS=${hlq}.BZU.BZUCFG
tazunittest_bzureportPDS=${hlq}.BZU.BZURPT
tazunittest_bzuplayPDS=${hlq}.BZU.BZUPLAY

# List the data sets that need to be created and their creation options
tazunittest_srcDatasets=${tazunittest_bzucfgPDS}
tazunittest_srcOptions=cyl space(1,1) lrecl(27998) dsorg(PO) recfm(V,B) dsntype(library)

tazunittest_loadDatasets=${tazunittest_bzuplayPDS}
tazunittest_loadOptions=cyl space(1,1) dsorg(PO) lrecl(256) recfm(F,B) blksize(32512) dsntype(library)

tazunittest_reportDatasets=${tazunittest_bzureportPDS}
tazunittest_reportOptions=tracks space(200,40) dsorg(PO) blksize(32760) lrecl(16383) recfm(v,b) dsntype(library)

# tazunittest_dependenciesDatasetMapping - an optional dbb property mapping to map dependencies to different target datasets
# this property is used when dependencies are copied to the different build libraries, e.q dclgens going into to a dedicated library
# note, that a dependency file needs to match a single rule
#
# sample:
# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/bzuplay/*.rec
# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/bzuplay_vtp/*.rec
#
# default copies all dependencies into the dependency dataset definition which was previously passed to the utilities/BuildUitilities.copySourceFiles method
# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/*
tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/*
33 changes: 0 additions & 33 deletions build-conf/ZunitConfig.properties

This file was deleted.

12 changes: 7 additions & 5 deletions build-conf/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@
# These properties files expect to contain centrally managed defaults
# such as system datasets, language script specific settings
#
buildPropFiles=${systemDatasets},dependencyReport.properties,Assembler.properties,BMS.properties,\
MFS.properties,PSBgen.properties,DBDgen.properties,ACBgen.properties,Cobol.properties,\
LinkEdit.properties,PLI.properties,REXX.properties,ZunitConfig.properties,Transfer.properties,\
buildPropFiles=${systemDatasets},GlobalOptions.properties,dependencyReport.properties,\
Assembler.properties,BMS.properties,Cobol.properties,Transfer.properties,\
MFS.properties,PSBgen.properties,DBDgen.properties,ACBgen.properties,\
LinkEdit.properties,PLI.properties,REXX.properties,TazUnitTest.properties,\
CRB.properties,zCEE3.properties,zCEE2.properties,Easytrieve.properties

#
Expand Down Expand Up @@ -50,7 +51,7 @@ systemDatasets=datasets.properties
# default-application-conf/PLI.properties,\
# default-application-conf/Transfer.properties,\
# default-application-conf/LinkEdit.properties,\
# default-application-conf/ZunitConfig.properties
# default-application-conf/TazUnitTest.properties
#
applicationDefaultPropFiles=defaultzAppBuildConf.properties

Expand Down Expand Up @@ -110,7 +111,7 @@ createBuildOutputSubfolder=true
#
# 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
requiredDBBToolkitVersion=2.0.0
requiredDBBToolkitVersion=2.0.2

#
# Comma separated list of required build properties for zAppBuild/build.groovy
Expand Down Expand Up @@ -142,6 +143,7 @@ metadataStoreType=file

# The dbb.gateway.type property determines which gateway type is used for the entire build process
# Possible values are 'legacy' and 'interactive'. Default if not indicated is 'legacy'
# Please note that the ISPF client gateway is not used by language scripts provided by zAppBuild, but can be used in custom implementations.
dbb.gateway.type=legacy

# Procedure Name - specified with the procname parameter
Expand Down
4 changes: 2 additions & 2 deletions build-conf/datasets.properties
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ SEQAMOD=
# Optional IDz Load Library. Example: FEL.V14R0M0.SFELLOAD
SFELLOAD=

# Optional IDZ zUnit / WAZI VTP library containing necessary copybooks. Example : FEL.V14R2.SBZUSAMP
SBZUSAMP=
# Optional IBM Debug Tool library containing necessary TAZ copybooks. Example : DEBUG.V16.SEQASAMP
SEQASAMP=

# REXX Compiler Data Sets. Example: REXX.V1R4.SFANLMD
SFANLMD=
Expand Down
20 changes: 10 additions & 10 deletions build-conf/zCEE2.properties
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Releng properties used by language/zCEE2.groovy

#
# Important considerations when using the z/OS Connect Build Toolkit (zconbt)
# Starting with z/OS Connect v3.0.81, zconbt supports the use of Java 11
# Which Java version is used with zconbt is controlled through the JAVA_HOME environement variable
# It is recommended to set this environement variable in the .profile file of the user that runs the build

#
# Comma separated list of required build properties for zCEE3.groovy
zcee2_requiredBuildProperties=zcee2_zconbtPath

#
# Absolute path to zconbt executable on z/OS UNIX System Services
# for instance: /var/zosconnect/v359/bin/zconbt.zos
# for instance: /var/zosconnect/v384/bin/zconbt.zos
zcee2_zconbtPath=

#
# Java installation used by the zconbt utility
# for instance: /usr/lpp/java/J8.0_64
# if not set, the value of the JAVA_HOME environment variable will be used
zcee2_JAVA_HOME=

#
# Mapping of input files with types of files
# PROJECT can be used for SAR and AAR projects
Expand All @@ -23,7 +23,7 @@ zcee2_JAVA_HOME=
zcee2_inputType=PROJECT

#
# Flag to indicate if artifacts produced for the ARA processing should be packaged (generated copybooks, API information copybook and logs)
# Flag to indicate if artifacts produced by the ARA processing should be packaged (generated copybooks, API information copybook and logs)
# When set to true, the artifacts are located based on the dataStructuresLocation, apiInfoFileLocation and logFileDirectory properties of the ARA properties files
# When not defined, the default value is false and artifacts are packaged
zcee2_ARA_PackageArtifacts=true
# When not defined, the default value is false and generated artifacts are not packaged
zcee2_ARA_packageArtifacts=true
17 changes: 12 additions & 5 deletions build-conf/zCEE3.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# Releng properties used by language/zCEE3.groovy
#
# Important considerations when using Gradle with Java 11 on z/OS Unix System Services
# IPv6 needs to be disabled by setting the IBM_JAVA_OPTIONS environment variable as follows:
# IBM_JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Dfile.encoding=UTF-8"
# It is recommended to set this globally in the .profile file of the user that runs the build

#
# Comma separated list of required build properties for zCEE3.groovy
zcee3_requiredBuildProperties=zcee3_shellEnvironment, zcee3_gradlePath, zcee3_gradle_JAVA_OPTS
zcee3_requiredBuildProperties=zcee3_shellEnvironment, zcee3_gradlePath

#
# Shell environment used to run the gradle command
Expand All @@ -11,10 +16,12 @@ zcee3_shellEnvironment=bash
#
# Absolute path to gradle executable on z/OS UNIX System Services
# for instance: /var/gradle/gradle-7.6/bin/gradle
zcee3_gradlePath=
zcee3_gradlePath=/var/gradle/gradle-8.10/bin/gradle

#
# JAVA Options used with gradle
# for instance: zCEE_gradle_JAVA_OPTS=-Xmx512m -XX:MaxMetaspaceSize=256m -Dfile.encoding=UTF-8
zcee3_gradle_JAVA_OPTS=-Dfile.encoding=UTF-8
# Flag to indicate if --debug option should be added to the gradle command
# Setting the debug option can be helpful to diagnose issues with the gradle daemon
# Default is false, can be set to true
zcee3_gradle_debug=true


Loading

0 comments on commit 7527814

Please sign in to comment.