diff --git a/envsetup.sh b/envsetup.sh index 5c954797df..78badf5272 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -1846,7 +1846,20 @@ function b() bazel help else # Else, always run with the bp2build configuration, which sets Bazel's package path to the synthetic workspace. - bazel "$@" --config=bp2build + # 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 + then + break + fi + done + bazel $previous_args --config=bp2build $@ fi )