.TH "BST" "1" "18-Jul-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
.SH COMMANDS
.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
\fBhelp\fP
  Print usage information
  See \fBbst-help(1)\fP for full documentation on the \fBhelp\fP command.

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

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

.PP
\fBpull\fP
  Pull a built artifact
  See \fBbst-pull(1)\fP for full documentation on the \fBpull\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
\fBcheckout\fP
  Checkout a built artifact
  See \fBbst-checkout(1)\fP for full documentation on the \fBcheckout\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
\fBfetch\fP
  Fetch sources in a pipeline
  See \fBbst-fetch(1)\fP for full documentation on the \fBfetch\fP command.

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

.PP
\fBshow\fP
  Show elements in the pipeline
  See \fBbst-show(1)\fP for full documentation on the \fBshow\fP command.
