Building Hierarchical File System artifacts

This section describes how to set up Engineering Workflow Management Engineering Workflow Management Enterprise Extensions (EE) to run z/OS® Dependency Builds for Hierarchical File System (HFS) artifacts to allow those artifacts to be built incrementally based on individual file changes.

About this task

The goal of this task is to configure an EE Dependency Build to invoke the HFS build feature to process builds for the following elements when they are managed by the Software Configuration Management (SCM) feature:
  • Folders that contain an HFS artifact in an EE zComponent project for Engineering Workflow Management V7.0.1 or later
  • Folders that contain an HFS artifact in an EE zHfsComponent project for Engineering Workflow Management V7.0.2 or later

When the HFS build feature is enabled in the Dependency Build definition, EE analyzes the build workspace to determine what, if any, HFS files have changed. If an HFS file has changed, the Dependency Build adds the file’s folder to the list of items to be built. The language assigned to the HFS folder will determine which translators to invoke, one of which, will build the artifact by invoking the user-provided Ant build script. Standard EE Dependency Build facilities are used to collect the outputs of the build and store them in build maps.

Procedure

  1. Create a folder for the HFS artifact files:
    • For a folder within an EE zComponent project, create a general folder at the top-level of the project; a peer to the zOSsrc zFolder. Do not create a zFolder for the HFS artifact and its files, just a general folder.
    • For a folder within an EE zHfsComponent project, first create the EE zHfsComponent project, then create a general folder at the top-level of the project to contain the HFS source files needed to build the HFS artifact.
  2. Add whatever files are necessary to build the HFS artifact into the folder just defined. The intent of the HFS build feature is that each HFS artifact – program, executable, installable, or others – is housed in its own unique folder with no other artifacts. Include as many source and support files as are necessary to build the HFS artifact
  3. Create an Ant build script to build the HFS artifact. The creation and maintenance of this build script is the user’s responsibility as it is beyond the scope of EE. The only aspect of the script known to EE is its name and path as reflected in the translator definition that invokes it. The build script must be stored on a path that is accessible to the build machine running the build. The build script may be stored in the same folder as the HFS artifact.
  4. Configure Enterprise Extensions for the HFS build feature. This step involves:
    1. Configuring a translator to invoke the Ant build script.
    2. Associating the translator with a language definition.
    3. Associating the language definition with the target HFS folder.
    4. Enabling the HFS build feature in the Dependency Build definition.
  5. Request a Dependency Build to build the HFS artifact.

Results

Build maps are created to track changes in HFS files to determine whether inputs and outputs are synchronized. Build maps are also used during the rest of the lifecycle with the following purposes:
  • During promotion, to prevent rebuilding at the next level while still providing the binary files.
  • During packaging, to create an archive of binary files to be consumed by the deployment process.
Upon successful completion of a build, the HFS artifact can then be promoted, packaged, and deployed as needed.