From 9e24ebd0a68e5872d6faa32493de78e47007f764 Mon Sep 17 00:00:00 2001
From: Ulf Adams
+Options can be passed to Blaze in different ways. Options that require a value
+can be passed with either an equals sign or a space:
+Command-Line Reference
+
+
+blaze [<startup options>] <command> [<args>]
+
+
+or
+
+
+blaze [<startup options>] <command> [<args>] -- [<target patterns>]
+
+
+Option Syntax
+
+
+--<option>=<value>
+--<option> <value>
+
+Some options have a single character short form; in that case, the short form
+has to be passed with a single dash and a space.
+
+-<short_form> <value>
+
+
+Boolean options can be enabled as follows: +
+--<option> +--<option>=[true|yes|1] ++ +and disabled as follows: +
+--no<option> +--no_<option> +--<option>=[false|no|0] ++ + +
+Tristate options are usually set to automatic by default, and can be +force-enabled as follows: +
+--<option>=[true|yes|1] ++or force-disabled as follows: +
+--no<option> +--no_<option> +--<option>=[false|no|0] ++ + +
+A target pattern refers to a single or more targets, which are source files, +output files, or rules specified in BUILD files. In addition to plain labels, +Blaze also supports working-directory-relative labels, recursive patterns, and +target subtraction. +
+ ++All target patterns starting with '//' are resolved relative to the current +workspace. +
//foo/bar:wiz |
+ Just the single target '//foo/bar:wiz'. | +
//foo/bar |
+ Equivalent to '//foo/bar:bar'. | +
//foo/bar:all |
+ All rules in the package 'foo/bar'. | +
//foo/... |
+ All rules in all packages beneath the directory 'foo'. | +
//foo/...:all |
+ All rules in all packages beneath the directory 'foo'. | +
//foo/...:* |
+ All targets (rules and files) in all packages beneath the directory 'foo'. | +
//foo/...:all-targets |
+ All targets (rules and files) in all packages beneath the directory 'foo'. | +
+Targets with tags=["manual"]
are not included in wildcard
+target patterns (...
, :*
, :all
, etc).
+Specify such test targets with explicit labels on the command line if
+you want Blaze to build/test them.
+
+Target patterns which do not begin with '//' are resolved relative to the +current working directory. These examples assume a working directory of +'foo': +
:foo |
+ Equivalent to '//foo:foo'. | +
bar:wiz |
+ Equivalent to '//foo/bar:wiz'. | +
bar/wiz |
+ Equivalent to: + '//foo/bar/wiz:wiz' if foo/bar/wiz is a package, + '//foo/bar:wiz' if foo/bar is a package, + '//foo:bar/wiz' otherwise. + | +
bar:all |
+ Equivalent to '//foo/bar:all'. | +
:all |
+ Equivalent to '//foo:all'. | +
...:all |
+ Equivalent to '//foo/...:all'. | +
... |
+ Equivalent to '//foo/...:all'. | +
bar/...:all |
+ Equivalent to '//foo/bar/...:all'. | +
+By default, directory symlinks are followed for recursive target patterns, +except those that point to under the output base, such as the convenience +symlinks that are created in the root directory of the workspace. +
+ ++In addition, Blaze does not follow symlinks when evaluating recursive target +patterns in any directory that contains a file named as follows: +
+DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSIVE_TARGET_PATTERN ++ + +
+Target patterns may be preceded by a single dash ('-
'), in which
+case Blaze subtracts them from the set of targets accumulated by preceding
+patterns. Note that this means order matters. In order to pass negative
+target patterns, you need to use '--' as an argument to prevent Blaze from
+interpreting it as an option, e.g.:
+
+blaze build -- foo/... -foo/contrib/... ++Note that Blaze may still build targets matched by a negative target pattern due +to dependencies, and may also load the corresponding BUILD files, even if the +targets are never built. + + + + -- cgit v1.2.3