Release RMC-06.02
(2024-04-29)
|
Contents
Description
Example of a steps.gbs
Description
Purpose
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
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
STEP ALIAS
STEP-definition
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
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:
None
Example of a steps.gbs:
#
# 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##
|