File build lifecycle
The file
lifecycle builds individual programs, or lists of programs passed in through the command line interface. It can be used when the user has a specific program they'd like to build, or a build list can be passed in to build
a list of files. This build list could be manually created, or it could come from a previous zBuilder execution.
Usage
The file lifecycle can be executed with the following command: dbb build file <sourceFile1> <sourceFile2> <buildList.txt...> [options]
The lifecycle can be passed any number and combination of source files and build lists as positional arguments, and all will be added to the source list for processing in subsequent steps. The paths input through the CLI can be either absolute,
relative to the application directory, or relative to the workspace which is one level up from the application directory. Paths within a build list must be absolute or relative to the workspace. Any file passed in with an extension that matches
the FileAnalysis:buildListFileExtension
configuration variable will be treated as a build list; this value defaults to txt
.
Yaml definitions
Lifecycle definition
Source: build/dbb-build.yaml
#########################################
# Executable build lifecycles
#########################################
lifecycles:
# build single programs from the command line
- lifecycle: file
# define the list of tasks to execute during the build lifecycle
tasks:
- Start
- ScannerInit
- MetadataInit
- FileAnalysis
- Languages # Defined in Languages.yaml
- Finish
This lifecycle only defines a list of tasks, with no additional CLI options.
Included task definitions
Source: build/dbb-build.yaml
#########################################################################
# Basic task configurations that can be referenced by multiple lifecycles
#########################################################################
tasks:
# basic build initialization
- task: Start
# initialize dependency scanners
- task: ScannerInit
# initialize metadata store
- task: MetadataInit
# create simple build list
- task: FileAnalysis
# build finalization
- task: Finish
Source: samples/languages/Languages.yaml
############################################################################
# stage: Languages used to create a reusable list of language configurations
############################################################################
tasks:
- stage: Languages
tasks:
- BMS # Defined in BMS.yaml
- Cobol # Defined in Cobol.yaml
- CobolTestcase # Defined in CobolTestcase.yaml
- Assembler # Defined in Assembler.yaml
- PLI # Defined in PLI.yaml
- LinkEdit # Defined in LinkEdit.yaml