insert --config=bp2build before -- in b args
Bazel also supports `--foo bar` as another way to mean `--foo=bar`, The current implementation would accidentally catch that and make it `--foo --config=bp2build bar`. This CL instead requires that additional arguments to the target come after a `--`. E.g. ``` b run --args-for-bazel //foo -- --args-for-foo ``` Test: b build //build/bazel/scripts/difftool:difftool Test: b run //build/bazel/scripts/difftool/difftool.py --level=FINE /tmp/legacyBuildFiles /tmp/bazelBuildFiles --file_type=object Change-Id: I534caab04e4c919d4e7b6dc83b8a88e020626b18
This commit is contained in:
20
envsetup.sh
20
envsetup.sh
@@ -1849,17 +1849,21 @@ function b()
|
||||
# Add the --config=bp2build after the first argument that doesn't start with a dash. That should be the bazel
|
||||
# command. (build, test, run, ect) If the --config was added at the end, it wouldn't work with commands like:
|
||||
# b run //foo -- --args-for-foo
|
||||
local previous_args=""
|
||||
for arg in $@;
|
||||
do
|
||||
previous_args+="$arg "
|
||||
shift
|
||||
if [[ $arg != -* ]]; # if $arg doesn't start with a dash
|
||||
local config_set=0
|
||||
local bazel_args_with_config=""
|
||||
for arg in $@; do
|
||||
if [[ $arg == "--" && $config_set -ne 1 ]]; # if we find --, insert config argument here
|
||||
then
|
||||
break
|
||||
bazel_args_with_config+="--config=bp2build -- "
|
||||
config_set=1
|
||||
else
|
||||
bazel_args_with_config+="$arg "
|
||||
fi
|
||||
done
|
||||
bazel $previous_args --config=bp2build $@
|
||||
if [[ $config_set -ne 1 ]]; then
|
||||
bazel_args_with_config+="--config=bp2build "
|
||||
fi
|
||||
eval "bazel $bazel_args_with_config"
|
||||
fi
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user