This documentation is under construction. Current content may be used as hints.
b3 Command Line Interface
The b3 Command Line Interface (CBI) is a completely generic command line launcher
- explain why headless interface is important (use-cases)
- b3 CLI is extensible (new commands can be added by installing extensions)
The following steps focus on the installation of the bare b3 command line interface.
- Start by Downloading the (headless) director which can be found here.
- Next unpack the director to a location of your choice. You may want to set the
PATHto include the install location and make the director accessible for additional use.
- Install b3 with the following command:
director -r <HEADLESS_REPO> -d <INSTALL_DIR> -p b3 -i org.eclipse.b3.cli.productwhere
- -d <INSTALL_DIR> is the chosen install location of the headless b3
- -p b3 is the name of the p2 profile
- -i org.eclipse.cli.product is the name of the headless b3 base
Launch headless b3
- run "b3" script in the directory where b3 is installed with previous step
- if no extension is installed, only --stackTrace and -? resp. --help options and runScript command are available:
No command was specified Usage: b3 command [options...] --stacktrace : Display stack trace on error -? (--help) : Print help screen for specified command Available commands: runScript - Runs a set of commands from a script file
Running a script
A script file can be run with b3 command line interface. The script file can contain any valid b3 commands with arguments. Nesting of the script files is allowed, but be careful to avoid endless script loop.
TBD: explain syntax details of the script lines (escaping special characters)
- use p2 director to install new features that may contribute new commands
- running b3 CLI with extensions prints a usage screen with all available commands
- running b3 CLI with specified command prints a usage screen with all available options for that command
Writing a new extension
- create a new bundle
- create a class extending org.eclipse.b3.cli.AbstractCommand
- define class fields with org.kohsuke.args4j.Option or org.kohsuke.args4j.Argument annotations (see args4j manual for more details)
- implement run(IProgressMonitor monitor) method
- register an extension for org.eclipse.b3.cli.commands (specify implementing class and command name)
- add the bundle to your b3 configuration