Release RMC-06.02
(2024-04-29)
|
Contents
Description
Description
It is possible to integrate the execution of GBS commands in development tooling like
editors, IDEs and buildmanagers.
The command that makes this possible is gbsstart_here.
It is a simplified version of the gbsstart command.
Typical commands are
We suggest you keep this order.
- The following chapters describe the integrations for:
-
Eclipse ,
Crimson Editor ,
Gedit ,
Notepad++ ,
MS Visual Studio ,
The gbsstart_here Command
The purpose of the gbsstart_here command is to be able to
execute a GBS command outside of a GBS context.
For this 2 things are needed:
- The GBS context (The CWD)
- The GBS command (with its parameters)
Most Development Environments and/or Editors allow you to specify multiple, named commands that will execute a
command-file in which currencies can be set via special codes and/or entries:
- Current directory
- Current selected file or even: list of selected files
- Directory where to execute the command
Because GBS is now invoked from outside a GBS context the gbsstart_here
command must be invoked from the generic GBS startup directory GBS_BOOT_PATH.
- Linux
- ~/.gbs/gbsstart_here.sh
- Windows
- %APPDATA%\.gbs\gbsstart_here.bat
The gbsstart Command
When gbsstart_here cannot be used (because you do not have a CWD),
the more complex gbsstart command can be used.
The purpose of the gbsstart command is to be able to
execute a GBS command outside of a GBS context.
For this 2 things are needed:
- The GBS context (i.e.: GBS_SYSTEM_PATH and possibly SubSystem, Component and/or Build)
- The GBS command (with its parameters)
The positional parameters of gbsstart
allow you to specify the GBS context (System-spec, SubSys, Component and Build).
Specify '.' to take current (default)
Specify '-' to take none
The first parameter also allows for the special '!' and '!!' GBS_SYSTEM_PATH settings, giving the
following possibilities:
- abs_or_rel_path
Means: Take abs_or_rel_path as GBS_SYSTEM_PATH (standard behaviour)
- !
Means: GBS_SYSTEM_PATH is in Current Working Directory. (search the tree)
- !abs_or_rel_path
Means: GBS_SYSTEM_PATH is in abs_or_rel_path. (search the tree)
- !!
Means: GBS_SYSTEM_PATH is Current Working Directory. (No need to search)
The --exec parameter specifies the command that is to be executed.
No spaces are allowed here so you must use the special space notation
($_, %_ or %20).
Because GBS is now invoked from outside a GBS context the gbsstart
command must be invoked from the generic GBS startup directory GBS_BOOT_PATH.
- Linux
- ~/.gbs/gbsstart.sh
- Windows
- %APPDATA%\.gbs\gbsstart.bat
Crimson Editor
Location:
Tools → Conf.User Tools...
Command definitions:
Tools
On Windows GBS_BOOT_PATH points to %APPDATA%\.gbs
Be sure to mark: Capture output and Save before execute
- gbsbuild
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbsbuild $(FileName)
- Start in: $(FileDir)
- gbsmake
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbsmake $(FileName) --r
- Start in: $(FileDir)
- gbsaudit
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbsaudit $(FileName)
- Start in: $(FileDir)
- gbssysbuild
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbssysbuild --i
- Start in: $(FileDir)
- gbssysmake
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbssysmake --i
- Start in: $(FileDir)
- gbssysaudit
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbssysaudit --i
- Start in: $(FileDir)
- swb build
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbsswb build
- Start in: $(FileDir)
- gbssilo
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbssilo
- Start in: $(FileDir)
- gbshelp
- Command: $APPDATA\.gbs\gbsstart_here.bat
- Argument: gbshelp
- Start in: $(FileDir)
Notes
None
Eclipse
Location:
Only System-wide commands can be defined here
Window → Show View → Make Builds
Add Make Build
Command definitions:
In Add Make Build Window:
- Build Name → Command Name
- Make Build → gbsstart_parameters
- Build Command → %APPDATA%\.gbs\gbsstart.bat or ~/.gbs/gbsstart.sh
gbsstart_parameters:
- gbssysbuild
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbssysbuild%20--i
- gbssysmake
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbssysmake%20--i
- gbssysaudit
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbssysaudit%20--i
- swb build
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbsswb%20build
- doxygen
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbssysbuild%20doxygen
- gbssilo
- ${workspace_loc:/projectname}\root_dirs - - --exec=gbssysbuild%20gbssilo
- gbshelp
- - --exec=gbssysbuild%20gbshelp
Notes:
None
Gedit
Enable:
Edit → Preferences → Plugins
Enable 'External Tools'
Location:
Tools → External Tools
Command definitions:
Tools → Manage External Tools
The 'External Tools Manager' is started
For a new command click on the 'New' icon, in the lower left corner, just above the 'Help'
- gbsbuild
- Command: ~/.gbs/gbsstart_here.sh gbsbuild $GEDIT_CURRENT_DOCUMENT_NAME
- gbsmake
- Command: ~/.gbs/gbsstart_here.sh gbsmake $GEDIT_CURRENT_DOCUMENT_NAME --r
- gbsaudit
- Command: ~/.gbs/gbsstart_here.sh gbsaudit $GEDIT_CURRENT_DOCUMENT_NAME
- gbssysbuild
- Command: ~/.gbs/gbsstart_here.sh gbssysbuild --i
- gbssysmake
- Command: ~/.gbs/gbsstart_here.sh gbssysmake --i
- gbssysaudit
- Command: ~/.gbs/gbsstart_here.sh gbssysaudit --i
- swb build
- Command: ~/.gbs/gbsstart_here.sh gbsswb build
- gbssilo
- Command: ~/.gbs/gbsstart_here.sh gbssilo
- gbshelp
- Command: ~/.gbs/gbsstart_here.sh - --exec=gbsshelp
Notepad++
Install
First you have to install the NppExec plugin
Plugins → Plugin Admin...
Install NppExec
Command definitions:
Plugins → NppExec → Execute... or press F6
In the 'Command(s)' window add and Save... the following commands:
- gbsbuild
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbsbuild $(FILE_NAME)
- gbsmake
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbsmake $(FILE_NAME) --r
- gbsaudit
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbsmake $(FILE_NAME)
- gbssysbuild
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbssysbuild --i
- gbssysmake
- cd $(CURRENT_DIRECTORY)
- ~"$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbssysbuild --i
- gbssysaudit
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbssysaudit --i
- gbssystool
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbssysaudit --i
- swb build
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbsswb build
- gbssilo
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" gbssilo
- gbshelp
- cd $(CURRENT_DIRECTORY)
- "$(SYS.APPDATA)\.gbs\gbsstart_here.bat" - --exec=gbsshelp
Press F6 to call-up and execute the commands.
Press Ctrl+F6 to immediately execute the last selected command.
You can also place the commands in the Macro list with
Plugins → NppExec → Execute...
Notes:
None
MS Visual Studio
As a Visual Studio project will be in a non-compliant GBS SubSystem, we cannot use the
gbsbuild, gbsaudit and
gbsmake
commands.
If you are using Visual Studio only as an editor in a Full GBS SubSystem, you can use these commands.
Location:
Tools
Command definitions:
Tools → External Tools...
On Windows GBS_BOOT_PATH points to %APPDATA%\.gbs
Be sure to mark: Use Output window
- gbsbuild
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbsbuild $(ItemFileName)$(ItemExt)
- Initial directory: $(ItemDir)
- gbsmake
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbsmake $(ItemFileName)$(ItemExt) --r
- Initial directory: $(ItemDir)
- gbssysbuild
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbssysbuild --i
- Initial directory: $(ItemDir)
- gbssysmake
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbssysmake --i
- Initial directory: $(ItemDir)
- swb build
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbsswb build
- Initial directory: $(ItemDir)
- gbssilo
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments: gbssilo
- Initial directory: $(ItemDir)
- gbshelp
- Command: %APPDATA%\.gbs\gbsstart_here.bat
- Arguments:- --exec=gbshelp
- Initial directory:
Notes:
None
|