Version: 0.22.0
The Bench CLI allows to interact with a Bench environment on the command line.
It supports a hierarchy of sub-commands with flags and options, which can be specified as command line arguments.
Additionally it supports an interactive mode when called without a sub-command specified.
Help texts can be displayed for each sub-command with the -?
argument. The help texts can be printed in different formats.
Take a look at the project website for a description of the Bench system.
Commands
-
bench
-
bench
app
-
bench
app
activate
-
bench
app
deactivate
-
bench
app
download
-
bench
app
execute
-
bench
app
info
-
bench
app
install
-
bench
app
list-properties
-
bench
app
property
-
bench
app
reinstall
-
bench
app
uninstall
-
bench
app
upgrade
-
bench
dashboard
-
bench
help
-
bench
list
-
bench
list
applibs
-
bench
list
apps
-
bench
list
files
-
bench
manage
-
bench
manage
config
-
bench
manage
config
edit
-
bench
manage
config
get
-
bench
manage
config
set
-
bench
manage
downloads
-
bench
manage
initialize
-
bench
manage
load-app-libs
-
bench
manage
reinstall
-
bench
manage
renew
-
bench
manage
setup
-
bench
manage
update
-
bench
manage
update-env
-
bench
manage
upgrade
-
bench
project
-
bench
search
-
bench
transfer
-
bench
transfer
clone
-
bench
transfer
export
-
bench
transfer
install
bench
The bench
command is the executable of the Bench CLI.
You can call it without a sub-command to enter the interactive mode.
Usage
bench
( <flag> | <option>)*bench
( <flag> | <option>)* <command> …
Help
Showing the help can be triggered by one of the following flags: /?
, -?
, -h
, --help
.
bench
-?
bench
<command>-?
Flags
--verbose
| -v
Activate verbose output.
--yes
| --force
| -y
Suppress all assurance questions.
Options
--help-format
| -f
<value>
Specify the output format of help texts.
Expected: Plain
| Markdown
Default: Plain
--logfile
| --log
| -l
<value>
Specify a custom location for the log file.
Expected: A path to the log file.
Default: Auto generated filename in <bench root>\log.
--root
| --base
| -r
<value>
Specify the root directory of the Bench environment.
Expected: A path to a valid Bench root directory.
Default: The root directory of the Bench environment, this Bench CLI belongs to.
Commands
app
, a
Manage individual apps.
Syntax: bench
app
<sub-command>
dashboard
, gui
, b
Start the Bench Dashboard.
help
, h
Display the full help for all commands.
list
, l
List different kinds of objects in the Bench environment.
manage
, m
Manage the Bench environment and its configuration.
project
, prj
, p
Manage projects in the Bench environment.
Syntax: bench
project
search
, s
Searches for apps.
transfer
, t
Copy or export this Bench environment.
bench app
Command: bench
app
The app
command allows interacting with Bench apps.
Use the sub-commands to select the kind of interaction.
Usage
bench
app
-?
bench
( <flag> | <option>)*app
bench
( <flag> | <option>)*app
<command> …
Commands
activate
, enable
, a
Activates an app.
Syntax: bench
app
activate
<App ID>
deactivate
, disable
, d
Deactivates an app.
Syntax: bench
app
deactivate
<App ID>
download
, cache
, c
Downloads an apps resource.
Syntax: bench
app
download
<App ID>
execute
, exec
, launch
, run
, e
Starts an apps main executable.
Syntax: bench
app
execute
<flag>* <App ID> …
info
, i
Shows a detailed, human readable info of an app.
Syntax: bench
app
info
<option>* <App ID>
install
, setup
, s
Installs an app, regardless of its activation state.
Syntax: bench
app
install
<App ID>
list-properties
, list
, l
Lists the properties of an app.
Syntax: bench
app
list-properties
( <flag> | <option>)* <App ID>
property
, prop
, p
Reads an app property value.
Syntax: bench
app
property
<App ID> <Property Name>
reinstall
, r
Reinstalls an app.
Syntax: bench
app
reinstall
<App ID>
uninstall
, remove
, x
Uninstalls an app, regardless of its activation state.
Syntax: bench
app
uninstall
<App ID>
upgrade
, u
Upgrades an app.
Syntax: bench
app
upgrade
<App ID>
bench app activate
Command: bench
app
activate
The activate
command marks an app as activated.
To actually install the app, you have to run the setup
command.
If the app is currently active as a dependency, it is marked as activated anyways. If the app is required by Bench, it is not marked as activated. If the app is marked as deactivated, this mark is removed.
Usage
bench
app
activate
-?
bench
( <flag> | <option>)*app
activate
<App ID>
Positional Arguments
1. App ID
Specifies the app to activate.
Expected: An app ID is an alphanumeric string without whitespace.
bench app deactivate
Command: bench
app
deactivate
The deactivate
command removes an app from the activation list or marks it as deactivated.
To actually uninstall the app, you have to run the setup
command.
If the app is currently on the activation list, it is removed from it. If the app is required by Bench, or as a dependency, it is marked as deactivated.
Usage
bench
app
deactivate
-?
bench
( <flag> | <option>)*app
deactivate
<App ID>
Positional Arguments
1. App ID
Specifies the app to deactivate.
Expected: An app ID is an alphanumeric string without whitespace.
bench app download
Command: bench
app
download
The download
command downloads the app resources, in case it is not cached already.
Usage
bench
app
download
-?
bench
( <flag> | <option>)*app
download
<App ID>
Positional Arguments
1. App ID
Specifies the app to download the resource for.
Expected: An app ID is an alphanumeric string without whitespace.
bench app execute
Command: bench
app
execute
The execute
command starts the main executable of the specified app.
Usage
bench
app
execute
-?
bench
( <flag> | <option>)*app
execute
<flag>* <App ID> …
Flags
--detached
| --async
| -d
Do not wait for the end of the process.
Positional Arguments
1. App ID
Specifies the app to execute.
Expected: An app ID is an alphanumeric string without whitespace.
Additional Arguments
All additonal arguments are passed as command line arguments to the executable.
bench app info
Command: bench
app
info
The info
command displayes a detailed description for an app in human readable form.
Usage
bench
app
info
-?
bench
( <flag> | <option>)*app
info
<option>* <App ID>
Options
--format
| -f
<value>
Specify the output format.
Expected: Plain
| Markdown
Default: Plain
Positional Arguments
1. App ID
Specifies the app to display the description for.
Expected: An app ID is an alphanumeric string without whitespace.
bench app install
Command: bench
app
install
The install
command installes the specified app, regardless of its activation state.
Missing app resources are downloaded automatically.
Usage
bench
app
install
-?
bench
( <flag> | <option>)*app
install
<App ID>
Positional Arguments
1. App ID
Specifies the app to install.
Expected: An app ID is an alphanumeric string without whitespace.
bench app list-properties
Command: bench
app
list-properties
The list-properties
command displayes the properties of an app.
This command supports different output formats. And you can choose between the expanded or the raw properties.
Usage
bench
app
list-properties
-?
bench
( <flag> | <option>)*app
list-properties
( <flag> | <option>)* <App ID>
Flags
--raw
| -r
Shows the raw properties without expansion and default values.
Options
--format
| -f
<value>
Specify the output format.
Expected: Plain
| Markdown
Default: Plain
Positional Arguments
1. App ID
Specifies the app of which the properties are to be listed.
Expected: The apps ID, an alphanumeric string without whitespace.
bench app property
Command: bench
app
property
The property
command reads the value of an app property.
Usage
bench
app
property
-?
bench
( <flag> | <option>)*app
property
<App ID> <Property Name>
Positional Arguments
1. App ID
Specifies the app to get the property from.
Expected: The apps ID, an alphanumeric string without whitespace.
2. Property Name
Specifies the property to read.
Expected: The property name, an alphanumeric string without whitespace.
bench app reinstall
Command: bench
app
reinstall
The reinstall
command reinstalles the specified app.
Usage
bench
app
reinstall
-?
bench
( <flag> | <option>)*app
reinstall
<App ID>
Positional Arguments
1. App ID
Specifies the app to reinstall.
Expected: An app ID is an alphanumeric string without whitespace.
bench app uninstall
Command: bench
app
uninstall
The uninstall
command uninstalles the specified app, regardless of its activation state.
Usage
bench
app
uninstall
-?
bench
( <flag> | <option>)*app
uninstall
<App ID>
Positional Arguments
1. App ID
Specifies the app to install.
Expected: An app ID is an alphanumeric string without whitespace.
bench app upgrade
Command: bench
app
upgrade
The upgrade
command upgrades the specified app to the most current release.
Updates app resources are downloaded automatically.
Usage
bench
app
upgrade
-?
bench
( <flag> | <option>)*app
upgrade
<App ID>
Positional Arguments
1. App ID
Specifies the app to upgrade.
Expected: An app ID is an alphanumeric string without whitespace.
bench dashboard
Command: bench
dashboard
The dashboard
command starts the graphical user interface Bench Dashboard.
Usage
bench
dashboard
-?
bench
( <flag> | <option>)*dashboard
bench help
Command: bench
help
The help
command displays the full help for all commands.
Usage
bench
help
-?
bench
( <flag> | <option>)*help
( <flag> | <option>)*
Flags
--append
| -a
Append to an existing file, in case a target file is specified.
--no-index
| -i
Suppress the index of the commands.
--no-title
| -t
Suppress the output of the tool name as the document title.
--no-version
| -v
Suppress the output of the tool version number.
Options
--target-file
| --out
| -o
<value>
Specifies a target file to write the help content to.
Expected: A path to a writable file. The target file will be created or overridden.
Default: None
bench list
Command: bench
list
The list
command lists different kinds of objects from the Bench environment.
Choose a sub-command to specify the kind of object, you want to list.
Usage
bench
list
-?
bench
( <flag> | <option>)*list
( <flag> | <option>)*bench
( <flag> | <option>)*list
( <flag> | <option>)* <command> …
Flags
--table
| -t
Prints properties of the listed objects as a table. Otherwise only a short form is printed.
Options
--format
| -f
<value>
Specifies the output format of the listed data.
Expected: Plain
| Markdown
Default: Plain
Commands
applibs
, l
List app libraries with ID and URL.
apps
, a
List apps from the app library.
files
, f
List configuration and app library index files.
bench list applibs
Command: bench
list
applibs
The applibs
command lists all loaded app libraries.
Usage
bench
list
applibs
-?
bench
( <flag> | <option>)*list
( <flag> | <option>)*applibs
bench list apps
Command: bench
list
apps
The apps
command lists apps from the app library.
You can specify the base set of apps and filter the apps to list.
Usage
bench
list
apps
-?
bench
( <flag> | <option>)*list
( <flag> | <option>)*apps
<option>*
Options
--filter
| -f
<value>
Specifies a filter to reduce the number of listed apps.
Expected: A comma separated list of criteria. E.g. ID=JDK*,!IsInstalled,IsCached
.
Default: no filter
--properties
| -p
<value>
Specifies the properties to display in the listed output. This option only has an effect, if the flag list
--table
is set.
Expected: A comma separated list of property names.
--set
| -s
<value>
Specifies the set of apps to list.
Expected: All
| Active
| NotActive
| Activated
| Deactivated
| NotSupported
| Installed
| NotInstalled
| Cached
| NotCached
| DefaultApps
| Groups
| MetaApps
| ManagedPackages
| ManagedPackagesFromRemote
Default: All
--sort-by
| -o
<value>
Specifies a property to sort the apps by.
Expected: The name of an app property.
Default: ID
bench list files
Command: bench
list
files
The files
command lists the paths of all loaded configuration files.
Usage
bench
list
files
-?
bench
( <flag> | <option>)*list
( <flag> | <option>)*files
<option>*
Options
--type
| -t
<value>
Specify the type of files to show.
Expected: BenchConfig
| UserConfig
| SiteConfig
| Config
| BenchAppLib
| UserAppLib
| AppLib
| Activation
| Deactivation
| AppSelection
| All
Default: All
bench manage
Command: bench
manage
The manage
command manages the Bench environment via a number of sub-commands.
Usage
bench
manage
-?
bench
( <flag> | <option>)*manage
bench
( <flag> | <option>)*manage
<command> …
Commands
config
, cfg
, c
Read or write values from the user configuration.
Syntax: bench
manage
config
<sub-command>
initialize
, init
, i
Initialize the Bench configuration and start the setup process.
load-app-libs
, l
Load the latest app libraries.
Syntax: bench
manage
load-app-libs
<flag>*
reinstall
, r
Remove all installed apps, then install all active apps.
renew
, n
Redownload all app resources, remove all installed apps, then install all active apps.
setup
, s
Run the auto-setup for the active Bench apps.
update
, u
Update the app libraries and upgrades all apps.
update-env
, e
Update the paths in the Bench environment.
upgrade
, g
Download and extract the latest Bench release, then run the auto-setup.
bench manage config
Command: bench
manage
config
The config
command gives access to the Bench user configuration.
Usage
bench
manage
config
-?
bench
( <flag> | <option>)*manage
config
bench
( <flag> | <option>)*manage
config
<command> …
Commands
edit
, e
Opens the user configuration in the default Markdown editor.
Syntax: bench
manage
config
edit
<flag>*
get
, read
, g
Reads a configuration value.
Syntax: bench
manage
config
get
<Property Name>
set
, write
, s
Writes a configuration value.
Syntax: bench
manage
config
set
<Property Name> <New Value>
bench manage config edit
Command: bench
manage
config
edit
The edit
command opens the user configuration in the default Markdown editor.
Usage
bench
manage
config
edit
-?
bench
( <flag> | <option>)*manage
config
edit
<flag>*
Flags
--detached
| --async
| -d
Do not wait for the editor to be closed.
bench manage config get
Command: bench
manage
config
get
The get
command reads a configuration value.
Usage
bench
manage
config
get
-?
bench
( <flag> | <option>)*manage
config
get
<Property Name>
Positional Arguments
1. Property Name
The name of the configuration property to read.
bench manage config set
Command: bench
manage
config
set
The set
command writes a configuration value to the user configuration file.
Usage
bench
manage
config
set
-?
bench
( <flag> | <option>)*manage
config
set
<Property Name> <New Value>
Positional Arguments
1. Property Name
The name of the configuration property to write.
2. New Value
The new value for the configuration property.
bench manage downloads
Command: bench
manage
downloads
The downloads
command manages the cached app resources.
Usage
bench
manage
downloads
-?
bench
( <flag> | <option>)*manage
downloads
bench
( <flag> | <option>)*manage
downloads
<command> …
Commands
clean
, cl
, c
Deletes obsolete app resources.
download
, dl
, d
Downloads the app resources for all active apps.
purge
, x
Deletes all cached app resources.
bench manage initialize
Command: bench
manage
initialize
The initialize
command initializes the Bench configuration and starts the setup process.
Usage
bench
manage
initialize
-?
bench
( <flag> | <option>)*manage
initialize
bench manage load-app-libs
Command: bench
manage
load-app-libs
The load-app-libs
command loads missing app libraries.
Usage
bench
manage
load-app-libs
-?
bench
( <flag> | <option>)*manage
load-app-libs
<flag>*
Flags
--update
| -u
Clears the cache and loads the latest version of all app libraries.
bench manage reinstall
Command: bench
manage
reinstall
The reinstall
command removes all installed apps, then installs all active apps.
Usage
bench
manage
reinstall
-?
bench
( <flag> | <option>)*manage
reinstall
bench manage renew
Command: bench
manage
renew
The renew
command redownloads all app resources, removes all installed apps, then installs all active apps.
Usage
bench
manage
renew
-?
bench
( <flag> | <option>)*manage
renew
bench manage setup
Command: bench
manage
setup
The setup
command runs the auto-setup for the active Bench apps.
Usage
bench
manage
setup
-?
bench
( <flag> | <option>)*manage
setup
bench manage update
Command: bench
manage
update
The update
command updates the app libraries and upgrades all apps.
Usage
bench
manage
update
-?
bench
( <flag> | <option>)*manage
update
bench manage update-env
Command: bench
manage
update-env
The update-env
command updates the paths in the Bench environment.
Usage
bench
manage
update-env
-?
bench
( <flag> | <option>)*manage
update-env
bench manage upgrade
Command: bench
manage
upgrade
The upgrade
command checks if a new version of Bench is available and installs it.
Usage
bench
manage
upgrade
-?
bench
( <flag> | <option>)*manage
upgrade
bench project
Command: bench
project
The project
command allows you to perform certain tasks on projects in the Bench environment.
WARNING: This command is not implemented yet.
Usage
bench
project
-?
bench
( <flag> | <option>)*project
bench search
Command: bench
search
The search
command searches for apps in the Bench environment.
Choose a sub-command to specify the kind of object, you want to list.
Usage
bench
search
-?
bench
( <flag> | <option>)*search
( <flag> | <option>)* …
Flags
--table
| -t
Prints the search result as a table. Otherwise only the IDs of found apps are printed.
Options
--format
| -f
<value>
Specifies the output format of the listed data.
Expected: Plain
| Markdown
Default: Plain
Additional Arguments
All additional arguments are used as search keywords.
bench transfer
Command: bench
transfer
The transfer
command supports different kinds of a copying the whole Bench environment.
Usage
bench
transfer
-?
bench
( <flag> | <option>)*transfer
bench
( <flag> | <option>)*transfer
<command> …
Commands
clone
, c
Copy this Bench environment to a different place.
export
, e
Create a transfer package of this Bench environment
Syntax: bench
transfer
export
<option>* <target-file>
install
, i
Install a Bench environment from an extracted Bench transfer package
Syntax: bench
transfer
install
( <flag> | <option>)*
bench transfer clone
Command: bench
transfer
clone
The clone
command creates and initializes a clone of this Bench environment in a different location.
Usage
bench
transfer
clone
-?
bench
( <flag> | <option>)*transfer
clone
<option>* <target-dir>
Options
--include
| -i
<value>
Specifies the content included in the export.
Expected: A comma separated list of the following keywords: SystemOnly
, Config
, Home
, Projects
, AppLibs
, RequiredCache
, Cache
, RequiredApps
, Apps
, All
Default: Config,AppLibs,Cache
Positional Arguments
1. target-dir
The target directory for the clone.
Expected: A path to a directory. The directory must not exist yet.
bench transfer export
Command: bench
transfer
export
The export
command creates a transfer package of this Bench environment.
Usage
bench
transfer
export
-?
bench
( <flag> | <option>)*transfer
export
<option>* <target-file>
Options
--include
| -i
<value>
Specifies the content included in the export.
Expected: A comma separated list of the following keywords: SystemOnly
, Config
, Home
, Projects
, AppLibs
, RequiredCache
, Cache
, RequiredApps
, Apps
, All
Default: Config,AppLibs
Positional Arguments
1. target-file
A path to the output file.
Expected: The filename can have one of the following extensions: .zip
, .7z
, .exe
bench transfer install
Command: bench
transfer
install
The install
command installs a Bench environment from an extracted Bench transfer package.
Usage
bench
transfer
install
-?
bench
( <flag> | <option>)*transfer
install
( <flag> | <option>)*
Flags
--extract-only
| --extract
| --no-init
| -e
Deactivates automatic initialization and setup after the transfer.
Options
--target-dir
| --target
| --dir
| -d
<value>
Specifies the target directory for the installation. If left empty, a directory browser will be displayed to choose the target directory.
Expected: A path to a directory. The directory must not exist yet.