Release RMC-06.02
(2024-04-29)
|
ContentsDescriptionDescriptionDefinitionsGeneric Build Support (GBS)The process of building according to strict rules and a strict predefined directory structure.This makes building an easy process to use and to handle. Make-files can be generated because the directory structure is fixed for all SubSystems. RMCRandy Marques Consultancy. The originator of GBS.GBS VersionIn older GBS releases the GBS version syntax was R.VV and R.VV_YY-MM-DD.Where R stands for Release, VV stands for Version and YY-MM-DD for ReleaseDate
With the move of GBS to OpenSource the need to identify the 'Releaser' arises: Given a Release/Version,
you would want to identify who built the Release/Version.
Proj-RR.VV and
GBS-WA or SystemA single, whole GBS directory tree.Contains SubSystems. GBS-WAs or Systems are identified by their SystemName You can have as many GBS-WAs as you want. Even multiple occurrences of the same. A GBS-WA will always correspond with a total SCM work area. SubSystemAn independent generation-unit within GBSA directory-structure with files that, during generation, produce software that can be delivered (released) to other SubSystems and/or end-customers. A GBS SubSystem is not per se an architectural SubSystem. SubSystems can contain one or more Components The number of SubSystems should be limited Most Systems will have only one SubSystem ComponentA files-container within a GBS SubSystem.The lowest level directory-tree in GBS Here the source and object files reside. A GBS Component is not per se an architectural Component GBS Component may very well contain more than one architectural Component and/or parts of architectural Components. Files in Components cannot refer to files in Components of other SubSystems DeliverableThe set of files produced by a SubSystem for use in another SubSystem or as final product. Generally speaking the deliverables of a SubSystem will consist of one or more libraries with one or more header-files. In a broader sense, any file that has to be made available to another SubSystem is a deliverable. (final executables, test-scripts, etc)You can also have internal deliverables. A SubSystem may 'deliver; to another Subsystem. Build or BuildStreamA sequence of compilations for a specific build, with a specific compiler toolchain, using the same set of compile-options, possibly followed by linking, resulting in a deliverable.AuditingActions performed on the code that do not generate executable code.Think of Source Code Analysers (SCAs) like PCLint, C++Test or QAC Auditing runs on file level, just like compilers Note: Doxygen runs on System level. It is therefore not considered an Auditing tool but a System Tool ArchivingThe process of placing one or more object files into an object libraryGBS AdministratorPerson responsible for the infrastructure of a GBS-WA. Typical GBS responsibilities:
GBS IntegratorPerson responsible for the execution of Generic functions in a GBS-WA. Typical GBS responsibilities:
Hard versioned directoriesA method to store multiple versions of something (programs, files, etc.) so that all are available at the same time. This in contrast to Soft versioned directories that are stored inside SCM repositories and need to be checkout before they can be accessed.All versions reside under the ROOT directory. The versions are called REL. And the actual location is called PATH. 3 Environment Variables are used to define the actual location:
This assures that when you want to switch to another version you only need to change the app_REL This method is used heavily throughout GBS BuilderIn the context of this document a Builder is a program or script that takes care of one step of the build-process of a deliverable. Typical builders are compilers, library-archivers and linkers.Acronyms
|