Skip to content

Commit d018b5c

Browse files
authored
Merge pull request #392 from IBM/develop
Release zAppBuild 3.4.0
2 parents 9beaa58 + 14409d8 commit d018b5c

38 files changed

+1157
-227
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@
1717
*.jcl zos-working-tree-encoding=ibm-1047 git-encoding=utf-8
1818
*.mac zos-working-tree-encoding=ibm-1047 git-encoding=utf-8
1919
*.json zos-working-tree-encoding=utf-8 git-encoding=utf-8
20+
*.yaml zos-working-tree-encoding=utf-8 git-encoding=utf-8

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ zAppBuild is a generic build solution for building z/OS applications using Apach
1313
For instructions on how to contribute enhancements and bug fixes to zAppBuild, please read the [Contributions Guidelines](CONTRIBUTIONS.md).
1414

1515
## How zAppBuild works
16-
The zAppBuild repository is intended to be cloned to a single location on Unix Systems Services (USS) and used to build all of your z/OS applications. This is done by simply copying the supplied `application-conf` folder (located in the [samples folder](samples)) to the application source repository you want to build and then verify/update the contained default configuration property values to ensure they meet the build requirements of your application. See the included [MortgageApplication](samples/MortgageApplication) sample for an example of an application that has been modified to be built by zAppBuild.
16+
The zAppBuild repository is intended to be cloned to a single location on Unix Systems Services (USS) and used to build all of your z/OS applications. Global configuration properties are configured in the properties files in the [build-conf](build-conf/) directory. Specifying application-level properties is done by simply copying the supplied `application-conf` folder (located in the [samples folder](samples)) to the application source repository you want to build and then verify/update the contained default configuration property values to ensure they meet the build requirements of your application. See the included [MortgageApplication](samples/MortgageApplication) sample for an example of an application that has been modified to be built by zAppBuild.
1717

1818
**IMPORTANT** : The [datasets.properties](build-conf/datasets.properties) must be configured for your build machine before executing a build! See [build-conf/README.md](build-conf/README.md) for more information.
1919

@@ -28,6 +28,7 @@ The zAppBuild sample provides the following *language* build scripts by default:
2828
* PSBgen.groovy
2929
* MFS.groovy
3030
* ZunitConfig.groovy
31+
* CRB.groovy
3132
* Transfer.groovy (for transport non-buildable files like JCL or PROC into build libraries and register them as build output)
3233

3334
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.
@@ -67,5 +68,5 @@ languages | This folder contains the language specific build scripts that are as
6768
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)
6869
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)
6970
utilities | This folder contains utility scripts which provide common utility functions used by the various zAppBuild build scripts. | [utilities/README.md](utilities/README.md)
70-
build.groovy | This is the main build script that is called to start the build process. | [BUILD.md](BUILD.md)
71+
build.groovy | This is the main build script that is called to start the build process. | [docs/BUILD.md](docs/BUILD.md)
7172
test | This folder contains testing framework for ZAppBuild which includes test scripts and related test content.| [test/README.md](/test/README.md)

build-conf/CRB.properties

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Releng properties used by languages/CRB.groovy
2+
3+
# The properties required to build using the CICS Resource Builder tool
4+
# Comma separated list of required build properties for Cicsyml.groovy
5+
crb_requiredBuildProperties=crb_zrbLocation,crb_resourceModelFile
6+
7+
#
8+
# Absolute path to the CICS Resource Builder utility (zrb) on z/OS
9+
# crb_zrbLocation=/var/crb-1.0.3/cics-resource-builder/bin/zrb
10+
crb_zrbLocation=
11+
12+
#
13+
# Absolute path to the CICS Resource Builder resource model YAML file on z/OS
14+
# the resource model YAML files can be centrally managed within zAppBuilds build-conf directory
15+
# or any absolute path outside of the build framework.
16+
# We recommend to store the resource model YAML file in its dedicated git repository managed by the
17+
# CICS administration team.
18+
crb_resourceModelFile=${zAppBuildDir}/build-conf/cicsResourceBuilderConfigurations/${application}-model.yaml
19+
20+
#
21+
# Absolute path to the CICS Resource Builder application constraints YAML file on z/OS
22+
# the application constraints YAML files can be centrally managed within zAppBuilds build-conf directory
23+
# or any absolute path outside of the build framework.
24+
# The CICS Resource Builder application constraints YAML file is an OPTIONAL file for the CICS Resource Builder.
25+
# We recommend to store the application constraints YAML file in its dedicated git repository managed by the
26+
# CICS administration team.
27+
crb_applicationConstraintsFile=${zAppBuildDir}/build-conf/cicsResourceBuilderConfigurations/${application}-constraints.yaml

build-conf/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,28 @@ zunit_reportDatasets | Comma separated list of 'report' type data sets
292292
zunit_reportOptions | BPXWDYN creation options for creating 'report' type data sets
293293
zunit_dependenciesDatasetMapping | DBB property mapping to map dependencies to different target datasets
294294

295+
### zCEE3.properties
296+
Application properties used by zAppBuild/language/zCEE3.groovy
297+
298+
Property | Description
299+
--- | ---
300+
zcee3_shellEnvironment | Shell environment used to run the gradle command
301+
zcee3_gradlePath | Path to gradle executable
302+
zcee3_gradle_JAVA_OPTS | JAVA Options used with gradle
303+
304+
### CRB.properties
305+
Application properties used by zAppBuild/language/CRB.groovy
306+
307+
zAppBuild contains the CICS Resource Builder resource model YAML and the CICS Resource Builder application constraints YAML for the MortgageApplication sample in
308+
**build-conf/cicsResourceBuilderConfigurations**
309+
310+
Property | Description
311+
--- | ---
312+
crb_requiredBuildProperties | Comma separated list of required build properties for language/CRB.groovy
313+
crb_zrbLocation | Absolute path to the CICS Resource Builder utility (zrb) on z/OS
314+
crb_resourceModelFile | Absolute path to the CICS Resource Builder resource model YAML file on z/OS
315+
crb_applicationConstraintsFile | (Optional) Absolute path to the CICS Resource Builder application constraints YAML file on z/OS
316+
295317
### Transfer.properties
296318
Build properties used by zAppBuild/language/Transfer.groovy
297319

build-conf/build.properties

Lines changed: 61 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,94 @@
66

77

88
#######################################################################
9-
# Global build properties used by zappbuild
9+
# Global build properties used by zAppBuild
1010
#
1111

1212
#
1313
# Comma separated list of additional build property files to load
1414
# Supports both relative path (to zAppBuild/build-conf/) and absolute path
15-
buildPropFiles=datasets.properties,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
15+
#
16+
# These properties files expect to contain centrally managed defaults
17+
# such as system datasets, language script specific settings
18+
#
19+
buildPropFiles=datasets.properties,dependencyReport.properties,Assembler.properties,BMS.properties,\
20+
MFS.properties,PSBgen.properties,DBDgen.properties,ACBgen.properties,Cobol.properties,\
21+
LinkEdit.properties,PLI.properties,REXX.properties,ZunitConfig.properties,Transfer.properties,\
22+
CRB.properties,zCEE3.properties
1623

1724
#
1825
# Comma separated list of default application configuration property files to load
1926
# Supports both relative path (to zAppBuild/build-conf/) and absolute path
27+
#
28+
# These properties files expect to contain centrally managed defaults
29+
# and also may reference properties files containing configuration
30+
# of the language script configurations such as return codes, deploy types
31+
#
32+
# See also application-conf/application.properties#applicationPropFiles
33+
#
34+
# default:
35+
# applicationDefaultPropFiles=defaultzAppBuildConf.properties
36+
#
37+
# extended sample to set default language script configurations:
38+
#
39+
# applicationDefaultPropFiles=defaultzAppBuildConf.properties,\
40+
# default-application-conf/searchPaths.properties,\
41+
# default-application-conf/scriptMappings.properties,\
42+
# default-application-conf/Cobol.properties,\
43+
# default-application-conf/BMS.properties,\
44+
# default-application-conf/PLI.properties,\
45+
# default-application-conf/Transfer.properties,\
46+
# default-application-conf/LinkEdit.properties,\
47+
# default-application-conf/ZunitConfig.properties
48+
#
2049
applicationDefaultPropFiles=defaultzAppBuildConf.properties
2150

2251
#
23-
# file extension that indicates the build file is really a build list or build list filter
24-
buildListFileExt=txt
25-
52+
# applicationConfDir
53+
#
54+
# required build property that specifies the directory of the
55+
# application specific build configurations for zAppBuild, also known
56+
# as application-conf folder
2657
#
27-
# Alternate root directory for application-conf locations. Allows for the deployment of
28-
# the application-conf directories to an alternate location rather in the application repository.
29-
# The expectation is that the root directory will have subfolders for all of the applications built
30-
# by zAppBuild in which the actual application-conf directory is located:
58+
# a sample of the application-conf can be found in
59+
# samples/application-conf
60+
#
61+
# zAppBuild expects a file called application.properties in this directory.
62+
#
63+
# The property also allows for the deployment of
64+
# the application-conf directories to an alternate location rather
65+
# in the application repository.
66+
#
67+
# Default:
68+
# Location within the application repository and resolving the configuration
69+
# based on workspace + application and application-conf
70+
#
71+
# applicationConfDir=${workspace}/${application}/application-conf
72+
#
3173
#
3274
# Example: Static location on USS
33-
# applicationConfRootDir=/u/build/config/applications
75+
# applicationConfDir=/u/build/config/applications/${application}/application-conf
3476
# |- /u/build/config/applications
3577
# | |- App1
3678
# | | |- application-conf
3779
# | | | |- application.properties
3880
# | |- App2
3981
# | | |- application-conf
4082
#
41-
# Example: Application cofig files stored in zAppBuild
42-
# applicationConfRootDir=${zAppBuildDir}/applications
83+
# Example: Application config files stored in zAppBuild
84+
# applicationConfDir=${zAppBuildDir}/applications/${application}/application-conf
4385
# |- /u/build/zAppBuild/applications
4486
# | |- App1
4587
# | | |- application-conf
4688
# | | | |- application.properties
4789
# | |- App2
4890
# | | |- application-conf
4991
#
50-
# Defaults to ${workspace}
51-
applicationConfRootDir=
92+
applicationConfDir=${workspace}/${application}/application-conf
93+
94+
#
95+
# file extension that indicates the build file is really a build list or build list filter
96+
buildListFileExt=txt
5297

5398
#
5499
# Determine if a subfolder with a timestamp should be created in the buildOutDir location.
@@ -64,7 +109,7 @@ buildOutputTSformat=yyyyMMdd.HHmmss.mmm
64109

65110
#
66111
# Minimum required DBB ToolkitVersion to run this version of zAppBuild
67-
# Build initialization process validates the DBB Toolkit Version in use and matches that against this setting
112+
# Build initialization process validates the DBB Toolkit Version in use and matches that against this setting
68113
requiredDBBToolkitVersion=2.0.0
69114

70115
#
@@ -91,7 +136,7 @@ metadataStoreType=file
91136
#metadataStoreDb2Url=jdbc:db2:<Db2 server location>
92137

93138
# Db2 connection configuration property file
94-
# Sample is povided at $DBB_HOME/conf/db2Connection.conf
139+
# Sample is povided at $DBB_HOME/conf/db2Connection.conf
95140
#metadataStoreDb2ConnectionConf=
96141

97142

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
schemaVersion: resourceModel/1.0
3+
application:
4+
name: MortgageApplication
5+
description: MortgageApplication constraints
6+
constraints:
7+
- id: program-name-prefix
8+
prefix: EPS
9+
- id: mapset-name-prefix
10+
prefix: EPSM
11+
- id: transaction-name-prefix
12+
prefix: EPS
13+
- id: resource-name-prefix
14+
prefix: EPS
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
schemaVersion: resourceModel/1.0
3+
resourceModel:
4+
target: cicsts-6.1.0
5+
defines:
6+
- type: mapset
7+
attributes:
8+
public:
9+
name:
10+
required: true
11+
constraintId: mapset-name-prefix
12+
group:
13+
required: true
14+
constraintId: resource-name-prefix
15+
private:
16+
resident: NO
17+
usage: NORMAL
18+
uselpacopy: NO
19+
status: ENABLED
20+
- type: program
21+
attributes:
22+
public:
23+
name:
24+
required: true
25+
constraintId: program-name-prefix
26+
group:
27+
required: true
28+
constraintId: resource-name-prefix
29+
datalocation:
30+
required: true
31+
language:
32+
required: true
33+
execkey:
34+
required: true
35+
concurrency:
36+
required: true
37+
dynamic:
38+
required: true
39+
executionset:
40+
required: true
41+
private:
42+
usage: NORMAL
43+
uselpacopy: NO
44+
status: ENABLED
45+
reload: NO
46+
resident: NO
47+
cedf: YES
48+
api: CICSAPI
49+
jvm: NO
50+
- type: transaction
51+
attributes:
52+
public:
53+
name:
54+
required: true
55+
constraintId: transaction-name-prefix
56+
group:
57+
required: true
58+
constraintId: resource-name-prefix
59+
storageclear:
60+
required: true
61+
program:
62+
required: true
63+
constraintId: program-name-prefix
64+
private:
65+
tranclass: DFHTCL00
66+
status: ENABLED
67+
twasize: 0
68+
profile: DFHCICST
69+
taskdataloc: ANY
70+
taskdatakey: USER
71+
runaway: SYSTEM
72+
shutdown: DISABLED
73+
isolate: YES
74+
dynamic: NO
75+
routable: NO
76+
priority: 1
77+
dtimout: NO
78+
restart: NO
79+
spurge: YES
80+
tpurge: YES
81+
dump: YES
82+
trace: YES
83+
confdata: NO
84+
otstimeout: NO
85+
action: BACKOUT
86+
wait: YES
87+
waittime: 0,0,0
88+
ressec: NO
89+
cmdsec: NO
90+
91+
92+

build-conf/zCEE3.properties

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Releng properties used by language/zCEE3.groovy
2+
3+
#
4+
# Comma separated list of required build properties for zCEE3.groovy
5+
zcee3_requiredBuildProperties=zcee3_shellEnvironment, zcee3_gradlePath, zcee3_gradle_JAVA_OPTS
6+
7+
#
8+
# Shell environment used to run the gradle command
9+
zcee3_shellEnvironment=bash
10+
11+
#
12+
# Absolute path to gradle executable on z/OS UNIX System Services
13+
# for instance: /var/gradle/gradle-7.6/bin/gradle
14+
zcee3_gradlePath=
15+
16+
#
17+
# JAVA Options used with gradle
18+
# for instance: zCEE_gradle_JAVA_OPTS=-Xmx512m -XX:MaxMetaspaceSize=256m -Dfile.encoding=UTF-8
19+
zcee3_gradle_JAVA_OPTS=-Dfile.encoding=UTF-8
20+

0 commit comments

Comments
 (0)