.TH "BST" "1" "06-Aug-2018" "" "bst Manual"
.SH NAME
bst \- Build and manipulate BuildStream projects...
.SH SYNOPSIS
.B bst
[OPTIONS] COMMAND [ARGS]...
.SH DESCRIPTION
Build and manipulate BuildStream projects

Most of the main options override options in the
user preferences configuration file.
.SH OPTIONS
.TP
\fB\-\-version\fP

.TP
\fB\-c,\fP \-\-config PATH
Configuration file to use
.TP
\fB\-C,\fP \-\-directory DIRECTORY
Project directory (default: current directory)
.TP
\fB\-\-on\-error\fP [continue|quit|terminate]
What to do when an error is encountered
.TP
\fB\-\-fetchers\fP INTEGER
Maximum simultaneous download tasks
.TP
\fB\-\-builders\fP INTEGER
Maximum simultaneous build tasks
.TP
\fB\-\-pushers\fP INTEGER
Maximum simultaneous upload tasks
.TP
\fB\-\-network\-retries\fP INTEGER
Maximum retries for network tasks
.TP
\fB\-\-no\-interactive\fP
Force non interactive mode, otherwise this is automatically decided
.TP
\fB\-\-verbose\fP / \-\-no\-verbose
Be extra verbose
.TP
\fB\-\-debug\fP / \-\-no\-debug
Print debugging output
.TP
\fB\-\-error\-lines\fP INTEGER
Maximum number of lines to show from a task log
.TP
\fB\-\-message\-lines\fP INTEGER
Maximum number of lines to show in a detailed message
.TP
\fB\-\-log\-file\fP FILENAME
A file to store the main log (allows storing the main log while in interactive mode)
.TP
\fB\-\-colors\fP / \-\-no\-colors
Force enable/disable ANSI color codes in output
.TP
\fB\-\-strict\fP / \-\-no\-strict
Elements must be rebuilt when their dependencies have changed
.TP
\fB\-o,\fP \-\-option OPTION VALUE
Specify a project option
.TP
\fB\-\-default\-mirror\fP TEXT
The mirror to fetch from first, before attempting other mirrors
.SH COMMANDS
.PP
\fBshow\fP
  Show elements in the pipeline
  See \fBbst-show(1)\fP for full documentation on the \fBshow\fP command.

.PP
\fBpush\fP
  Push a built artifact
  See \fBbst-push(1)\fP for full documentation on the \fBpush\fP command.

.PP
\fBcheckout\fP
  Checkout a built artifact
  See \fBbst-checkout(1)\fP for full documentation on the \fBcheckout\fP command.

.PP
\fBfetch\fP
  Fetch sources in a pipeline
  See \fBbst-fetch(1)\fP for full documentation on the \fBfetch\fP command.

.PP
\fBworkspace\fP
  Manipulate developer workspaces
  See \fBbst-workspace(1)\fP for full documentation on the \fBworkspace\fP command.

.PP
\fBbuild\fP
  Build elements in a pipeline
  See \fBbst-build(1)\fP for full documentation on the \fBbuild\fP command.

.PP
\fBtrack\fP
  Track new source references
  See \fBbst-track(1)\fP for full documentation on the \fBtrack\fP command.

.PP
\fBsource-bundle\fP
  Produce a build bundle to be manually executed
  See \fBbst-source-bundle(1)\fP for full documentation on the \fBsource-bundle\fP command.

.PP
\fBinit\fP
  Initialize a new BuildStream project
  See \fBbst-init(1)\fP for full documentation on the \fBinit\fP command.

.PP
\fBshell\fP
  Shell into an element's sandbox environment
  See \fBbst-shell(1)\fP for full documentation on the \fBshell\fP command.

.PP
\fBpull\fP
  Pull a built artifact
  See \fBbst-pull(1)\fP for full documentation on the \fBpull\fP command.

.PP
\fBhelp\fP
  Print usage information
  See \fBbst-help(1)\fP for full documentation on the \fBhelp\fP command.
