All QBT commands support logging options.
[--logFormat ARG] : Set log format [--logLevel ARG] : Set log level, e.g. DEBUG (sets root), my.Class=INFO (sets specific category) [--logProperties ARG] : Configuring logging from properties
Set the log level to DEBUG
$ qbt build --logLevel=DEBUG
Set the log level to DEBUG for the class qbt.mains.PushPins
$ qbt build --logLevel=qbt.mains.PushPins=DEBUG
Set the logging format (TODO: example formats)
$ qbt build --logFormat=<SLF4J log formats>
Configure logging using a logging properties file
$ qbt build --logProperties=/path/to/log.properties
Any command will print out extended help if given the --help
argument
$ qbt build --help
All commands which require config or manifest (this is pretty much everything) can have a path specified directly on the command line instead of trying to auto detect them.
$ qbt build --manifest=/path/to/qbt-manifest --config=/path/to/qbt-config
One particularly useful trick is to provide a manifest via a pipe if the manifest you want does not exist on disk. For example, you might want the manifest from a version or two ago, or from a branch you just fetched but haven't merged in yet.
$ qbt fetchPins origin --manifest <(git show HEAD~:qbt-manifest) -J --all --logLevel=DEBUG
Almost all commands take parallelization options.
The default parallelization is twice the number of CPUs detected.
Build using only 1 thread at a time (no parallelization) - both of these are equivalent
$ qbt build --package meta_tools.release -j1 $ qbt build --package meta_tools.release --parallelism=1
Build using infinite parallelization (as many threads as possible) - both of these are equivalent
$ qbt build --package meta_tools.release -J $ qbt build --package meta_tools.release --infinite-parallelism
TODO: write about --qbtEnv
.
vi: ft=markdown