IBM Support

IBM Dependency Based Build runs with Groovy 4.0.0

Newsletters


Abstract

IBM Dependency Based Build 1.1.3 and 1.0.10 both include an upgrade from Groovy 2.4.12 to Groovy 4.0.0. This upgrade contains compatibility issues that may require manual modifications to existing build scripts.

Content

See the following Groovy release notes for complete migration and adoption details:

Path changes

Groovy is now located in the "DBB_HOME"/groovy directory. Any scripts that reference the "DBB_HOME"/groovy-2.4.12  directory must be updated with the new Groovy path.

The "classpath" element of the process definitions template "DBB_HOME"/conf/process_definitions.xml has been updated to reflect the new location of the Groovy libraries. Process definitions files that have been customized must be modified to include the updated path.

Groovy script encoding

Groovy 4.0.0 assumes that all Groovy scripts are UTF-8 encoded. The "DBB_HOME"/bin/groovyz script has been modified to specify IBM-1047 as the encoding for all scripts. Perform the following steps if your scripts use a different encoding:

  1. Copy the "DBB_HOME"/bin/groovyz script to a writeable location on the file system.
  2. Find the line ARGS="-c IBM-1047 $ARGS" and update it to use the correct file encoding for your environment.
  3. Save the file.
  4. Use the updated version of groovyz to run your Groovy scripts.

The Groovy launch script "DBB_HOME"/groovy/bin/groovy has not been updated to make assumptions about the script encoding. If you use this launch script, you must add a command line option formatted as -c "encoding" (where "encoding" represents your encoding) when you run scripts that are not UTF-8 encoded.

Package changes

Many commonly used classes have been moved from the groovy.util package to more modular package names. This will cause script breakage because Groovy no longer imports the classes by default. Commonly encountered changes include:

  1. CliBuilder has moved from package groovy.util to groovy.cli.commons.
  2. AntBuilder has moved from package groovy.util to groovy.ant.
  3. Groovy 4.0.0 no longer includes Apache Commons Logging in its lib directory. Scripts that rely directly on this project must be updated to include the jar file from the "DBB_HOME"/lib directory on their classpath.

Sample updates

The Dependency Based Build samples repository and the zAppBuild framework have been updated to reflect the Groovy 4.0.0 changes described in this document. The latest version of these repositories must be pulled for use with the new Groovy release.

You must apply the Groovy 4.0.0 changes to any forked versions of the samples or zAppBuild.

[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6T76","label":"IBM Dependency Based Build"},"ARM Category":[{"code":"a8m0z00000009OZAAY","label":"IDz Family-\u003EDBB (Dependency Based Build)"}],"Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"1.0.10;1.1.3;and future releases","Type":"MASTER"},{"Type":"MASTER","Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSTQXQ","label":"IBM Developer for z\/OS Enterprise Edition"},"ARM Category":[{"code":"a8m0z00000009OZAAY","label":"IDz Family-\u003EDBB (Dependency Based Build)"}],"Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"14.2.0;15.0.0;and future releases"},{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSV97FN","label":"IBM Z and Cloud Modernization Stack"},"ARM Category":[{"code":"a8m0z000000cxyyAAA","label":"Wazi Developer for Red Hat CodeReady-\u003ECode"}],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"2022.1.1;and future releases","Type":"MASTER"}]

Product Synonym

DBB

Document Information

Modified date:
15 March 2022

UID

ibm16561887