GBS3(1)

NAME
gbs3 - GAMBAS Scripter.

SYNOPSIS
gbs3 [options] [--] [<script file> | <project directory> | -]
gbs3 --convert-project <source project directory> <destination script directory>
gbs3 --convert-script <script file> [<Destination where project directory is created>]
gbs3 [-p | --plugin] <script file> [<Destination directory where plugin is created>]

DESCRIPTION
Gambas is a free development environment based on a Basic interpreter with object extensions, a mix of Java(tm) and Visual Basic(tm). With Gambas, you can quickly design your program GUI with Qt or GTK+, access database systems like MySQL, PostgreSQL, SQlite or ODBC databases, pilot applications with DBus, translate your program into many languages, create GStreamer, OpenGL or SDL applications, and so on...

gbs3 is the interpreter that allows you to compile and execute a Gambas script.
gbs3 may also be used to convert a Gambas project to a script or a script back to a project.

OPTIONS

-b, --buildonly
    process and compile the script without executing it

-c, --nocache
    force the script compilation (do not check cache)

--convert-project
    convert a Gambas project into an executable Gambas script file

--convert-script
    convert a Gambas script file into a Gambas project

-e  execute the source code provided by the command line ( ':' separator )

-f, --fast
    use just-in-time compiler

-g, --debug
    add debugging information to application

-h, --help
    display help and exit

-l, --list
    display a list of available Components or Libraries, '-l component' or '-l library'

-L, --license
    display license

-p, --plugin
    generate a plugin executable that can be loaded by other scripts

-S --strict
    fail if 'Public' or 'Sub' are defined without a 'main' function otherwise create main()

-t, --trace
    turn on tracing option during execution

-T, --terse
    only print a very terse error report on compile errors

-u, --use
    load component or libraries ('comp1,comp2,lib1...')

-v, --verbose
    be verbose

-V, --version
    display version

-w, --warnings
    display warnings during compilation

PROJECT CONVERSION
gbs3 can convert a Gambas project into an executable script file using the --convert-project option. The input project directory is used to create the script which is written to the output script directory. The script is created and named the same as the originating project.
gbs3 MyProjectDirectory DestinationScriptDirectory

SCRIPT CONVERSION
gbs3 can convert a script file to a full Gambas project using the --convert-script option.
The input script is translated into a project by the same basename as the script and is created in the specified directory. In the case in which no output directory is specified, the environment variable PWD is used as the location to create the Gambas project.
gbs3 MyScript.gbs ~/Projects
This created the project 'MyScript' directory in the users 'Projects' directory.

PLUGINS
gbs3 can create plugins that can be used by other scripts or Gambas applications after being built using the --plugin or -p option. Plugins are created in a user-selected directory and are also executed and cached in this directory, unlike a normal script, in which executables are created in the temp directory and are executed from there. This allows plugins to persist after the scripter exits.
If no output destination is specified, then the plugin is created in the ~/.local/lib/gambas directory. and may be loaded from there using the component.load() function.
gbs3 MyPluginScript [Plugin Destination Directory]

EXAMPLE
#!/usr/bin/env gbs3
for i as integer = 0 to 10
  print i;;
next

AVAILABILITY
The latest version of Gambas can always be obtained from
gambas.sourceforge.net,
documentation about the language is at
http://gambaswiki.org/wiki.

REPORTING BUGS
Report bugs to http://gambaswiki.org/bugtracker

COPYRIGHT
Copyright© Benoît Minisini <benoit.minisini@gambas-basic.org>;

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.