GBS Logo HELP HOME Generic Build Support (GBS) - User Manual
The steps.gbs file Bottom Doc. Button
Release RMC-06.02
(2024-04-29)


- Home
Getting Started
- Quick Start
- Release Notes
- Install Notes
- Create a GBS-WA/System
- FAQ
- Terms and Conditions (The Fine Print)
Basics
- Definitions & Acronyms
- Introduction
- Top Level Directory Structure
- Full Directory Structure
- Handling SubSystems & Steps
- Procedures
- Software Configuration Management Support

Manual Pages
- The Command-Line Interface
- All Commands
- The gbssys... Commands
- Generating Code (Building)
- Libraries & Executables and Testing
- Exporting Deliverables
- Auditing
- Customisations (Session)
- Customisations (User)
- Customisations (Admin)
- Integration with other Tools
- Plugins (Admin)
- Environment Variables (EnvVars)
User Files
- The GLKBT (glk/glb/glt) Files
Internal (.gbs) Files
- GBS Files - General
- audit.gbs
- broadcast.gbs
- build.gbs
- export.gbs
- flags_*.gbs
- subsys.gbs (.bat/.sh)
- incs_*.gbs
- owners.gbs
- sca_*.gbs
- scope.gbs
- site.gbs (.bat/.sh)
- steps.gbs
- switch.gbs (.bat/.sh)
- system.gbs
- tool.gbs
Various
- Development
- About
- Metrics Help

Full Documentation
- All Docs - Printable


Contents Bottom Doc. Button Top Document Button Down Section Button Blank

Description
Example of a steps.gbs

Description Bottom Doc. Button Top Document Button Down Section Button Up Section Button

Purpose Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Blank

The steps.gbs file is located in the GBS_SYS_PATH directory is used to define the order in which SubSystems are built or audited, Commands are executed or Tools are run.

Non-SubSystem steps, called 'Commands' allow you to execute commands to e.g.:
Copy end-results to a specific directory outside then GBS tree.

Tools run on the whole GBS tree and are not dependent on Audit or Build. E.g.: Doxygen, etc.

General Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

Please refer to .gbs files: General information

Additional for this file:

  • Lines with no leading white-space (called header-lines) define an item.
  • Following lines with leading white-space (called sub-lines) define the parameters for that item.
  • Reserved words (keywords) are case sensitive
  • The .include directive is not allowed

Definitions Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

STEP ALIAS

STEP-definition Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

Purpose:

To define the order in which SubSystems must be generated

Syntax:

STEP step_name
EXEC = SELECT | SPECIFY | ALWAYS | FORCE
TOOL = tool_name
COMMAND = command [command_arguments...]
...
BUILD = YES | NO
AUDIT = YES | NO

Semantics:

The order in which the STEP definitions appear specifies the order in which the steps must be executed. Cyclic references are not possible.
step_name
SubSystem, Command or Tool
The step_name may not be ALL
If the step_name is a SubSystem-name then it refers to that SubSystem.
Else, there must be a COMMAND or a TOOL line immediately following this line to specify the action to be taken

Each Non-GBS SubSystem must have a set of subsys.gbs 'generate' scripts in the top-directory of that SubSystem.
These scripts are:
gbssubgen.script_type
gbssubmake.script_type
gbssubaudit.script_type
gbssubcleaup_bld.script_type
gbssubcleanup_aud.script_type
These scripts do not take arguments from the command line, only EnvVars:
GBS_IGNORE_ERRORS (bool)
GBS_MAKE ('make' command)
GBS_FLAGS_type
GBS_BLD_type
GBS_MODE, GBS_OPT, GBS_DEBUGGER and GBS_MAP
EXEC
Single, Optional
SELECT == Include this step if specified in command-line (default)
SPECIFY == Only include this step if explicitly specified in command-line
ALWAYS == Include this step even if not specified in command-line
FORCE == Never skip, Same as ALWAYS, even if job fails.
TOOL
Single
May not be specified for SubSystem STEP or Command STEP
Must be specified for Tool STEP
COMMAND
Multiple
May not be specified for SubSystem STEP or Tool STEP
Must be specified for Command STEP
command
If preceded by '@' or '>' or '.' and no .type: assume .bat on Win32 else .sh

If preceded by '@', find command_file relative to $GBS_SYS_PATH
If preceded by '>', find command_file relative to $GBS_SCRIPTS_PATH/plugins
If preceded by '.', find command_file relative to $GBS_SCRIPTS_PATH
BUILD
Single, Optional, Boolean
If NO the Step will not be selected for gbssysbuild or gbssysmake
May not be specified for Tool Step
AUDIT
Single, Optional, Boolean
If NO the Step will not be selected for gbssysaudit
May not be specified for Tool Step

ALIAS-definition Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

Purpose:

To group step_names and optionally associate a Build

Syntax:

ALIAS alias_name
BUILD = build-name
STEPS = steps-list

Semantics

ALIAS
Must be specified after the STEP-definitions
alias_name
It is good practice to specify the alias_name in uppercase
The alias_name may not be ALL
BUILD
Single, Optional
Specifies associated Build
STEPS
Single, Mandatory
steps-list
'-' (hyphen) may be used to specify 'from' - 'to' sequences

Notes: Bottom Doc. Button Top Document Button Down Section Button Up Section Button Blank Up Chapter Button

None

Example of a steps.gbs: Bottom Doc. Button Top Document Button Blank Up Section Button

    
    #
    #   STEPS.GBS
    #
    
    #
    #   STEPS
    #
    STEP begin
        COMMAND     = @begin
        AUDIT       = NO
    
    STEP superglo
    
    STEP bart
    
    STEP non_gbs
    
    STEP visualstudio
    
    STEP copy_export
        COMMAND     = >copy_export/bin/copy_export.pl superglo $GBS_BUILD $GBSEXT_GBSSHARE/$GBS_BUILD
        AUDIT       = NO
    
    STEP prqa
        EXEC        = SPECIFY
    
    STEP doxygen
        TOOL        = >doxygen/bin/doxygen.pl full
        BUILD       = NO
        AUDIT	= NO
    
    STEP doxygen_api
        TOOL        = >doxygen/bin/doxygen.pl api
        EXEC        = SPECIFY
        BUILD       = NO
        AUDIT	= NO
    
    #
    #   ALIASES
    #
    ALIAS SUBSET
        STEPS = superglo bart
    
    ALIAS PRQA
        STEPS = prqa
    
    ALIAS FULL
        STEPS = superglo bart prqa
    
    ALIAS ALL
        STEPS = begin - doxygen_api
    
    ALIAS LGCC
        BUILD = lgcc
    
    ALIAS MINGW
        BUILD = mingw
    
    ##EOF##
    
    

steps.html