GBS Logo HELP HOME Generic Build Support (GBS) - User Manual
The export.gbs files 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 an export.gbs
Example of an export.gbs using INSTALL

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 export.gbs files are used to fill the res/subsys and subsys/export directories.
They (the export.gbs files) can reside in 2 locations:
  • Full-GBS SubSystems:
    1. Component - From Component res and/or export
    2. SubSystem - From res to res and/or export and from ext to export
  • Non-GBS SubSystems:
    1. Subsystem - From SubSystem to res and/or export

The export.gbs files located in the GBS_COMPONENT_PATH directories are used to specify which files of the Component are to be exported to a relative directory in RES/$GBS_SUBSYS and/or EXPORT when using the gbsexport command.

The export.gbs files located in the GBS_SUBSYS_PATH directories are used to specify which files of the SubSystem, any RES and/or EXT are to be exported to a relative directory in RES/$SUBSYS and/or EXPORT when using the gbsexport command.

Files can be exported to $GBS_RES_PATH/$GBS_SUBSYS and/or to $GBS_EXPORT_PATH depending on the existence of these directories or selective by means if the to_base prefix.

Besides copying files it is also possible to create (msi) install programs.

By default:
Exported directories are created with mode: u=rwx,go=rx,o=x
Exported files are created with mode: ugo:r

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 define the destination (output_directory)
  • Following lines with leading white-space define the source (from_file)
  • Keywords are case sensitive
  • The .include directive is not allowed
The combination of 1 destination-line flowed by a number of source-lines is called a destination-set.

Contents: Bottom Doc. Button Top Document Button Down Section Button Up Section Button Down Chapter Button Up Chapter Button

Syntax:

destination_line
source_line
...
destination_line := [to_base:]to_path['|'chmods] [build-line-selection]

source_line := copy_line | install_line

copy_line := [from_base:][from_path]from_file [to_file]['|'chmods]

install_line := INSTALL:command [args...] to_file['|'chmods]

Destination lines (to_path) can be appended with a Build Selector enabling skipping of the whole destination_set dependent on the current Build.
Refer to GBS-files: General for explanation of the build-line-selection mechanism.

Semantics:

to_base := EXPORT | RESSUB | ANY
Specifies explicit output location.
ANY: Default. Export to RESSUB and/or EXPORT depending on their existence
RESSUB: Base is GBS_RES_PATH/SUBSYS
EXPORT: Base is to GBS_EXPORT_PATH
to_path
Relative to to_base
../ or '*' not allowed

from_base := CMP | EXT | RES | SILO | SUB | GBSEXT_name_PATH | INSTALL
Specifies explicit input location.
CMP: Base is GBS_COMPONENT_PATH
CMP: is the default for Component export.gbs and should not be specified (custom)
CMP: may only be specified in a Component export.gbs
EXT: Base is GBS_EXT_PATH. Files MUST exist
RES: Base is GBS_RES_PATH
SILO: Base is GBS_SILO_PATH
SUB: Base is GBS_SUBSYS_PATH
SUB: is the default for Gen and Non-Full-GBS Subsystem export.gbs
SUB: Only specific directories can be selected (audit, export, build, comp, tool)
GBSEXT_name_PATH: Base is the directory defined by that Environment Variable
INSTALL: cannot be specified in a Component export.gbs
INSTALL: Base is the same location as the export.gbs file
from_path
Relative to from_base
../ or '*' not allowed
Default is from_base
from_file
../ or '*' not allowed
Use $GBS_BLD_src_type to specify Build specific generated file-types
to_file
Optional. Mandatory for INSTALL:
Specifies a (different) output name for the file.
A dot indicates the same as the input file name
chmods
chmod_comma-list
Use to change the default file/directory permissions
chmod := Unix_symbolic_mode_notation>
E.g.: u=rwx,go=r or 0755
For the chmod notation refer to Wikipedia chmod
command
Command that will invoke the (msi) install create program
Before execution the CWD will be set to the same locations as the export.gbs file
Best way to work is to use the copy_lines to create a directory/file structure and then use an install_line to create an installer using that directory/file structure
args
Argument(s) for command
Optional

General:
Paths containing non-current Build Build-names will be skipped for the current Build.

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

  • No wild-cards allowed (e.g.: *.h)
  • file/directory specifications containing spaces are supported:
    All occurrences of %_ (Linux), $_ (Win32) and %20 (all) are replaced by spaces.

Example of an export.gbs: Bottom Doc. Button Top Document Button Down Section Button Up Section Button

    #===============================
    #  [otv_al_s:ocs] export.gbs
    #===============================
    RESSUB:inc/$GBS_BUILD				== mingw
        inc/http_init.h
        inc/lsm.h
        inc/oco.h
        inc/ocs.h
        inc/ocs_cfg.h
    RESSUB:lib/$GBS_BUILD				== mingw
        bld/$GBS_BUILD/ocs$GBS_BLD_GLB
        EXPORT:bin					== mingw
        bld/$GBS_BUILD/ocs$GBS_BLD_GLBK	|ugo:x
    
    ## EOF ##
    

Example of an export.gbs using INSTALL: Bottom Doc. Button Top Document Button Blank Up Section Button

    #========================================================
    #   [profielsw] export.gbs
    #========================================================
    base
    base/bin
        app\Task24Profiel\bin\Release\Task24Profiel.exe
    base/bin/DUT
        data\bin\DUT\_NL%20Profiel%20Leesmij.txt
        data\bin\DUT\CV%20TemplateB.dotm
        data\bin\DUT\leegcv.ini
        data\bin\DUT\wizard.ini
    base/bin/ENG
        data\bin\ENG\_English%20Profile%20ReadMe.txt
        data\bin\ENG\CV%20TemplateB.dotm
        data\bin\ENG\leegcv.ini
        data\bin\ENG\wizard.ini
    base/Doc
        data\Doc\Help.html
        data\Doc\userguide.doc
    base/Doc/Images
        data\Doc\Images\Balkknop.jpg
        data\Doc\Images\CVWizardMain.jpg
        data\Doc\Images\image002.jpg
        data\Doc\Images\TASK24.ico
    install
        INSTALL:%GBSEXT_ADVANCED_INSTALLER_PATH%\AdvancedInstaller.com /build Task24Profiel.aip setup.msi
    ###EOF###
    

export.html