Merge "skip soong tests by default for b command"
diff --git a/envsetup.sh b/envsetup.sh
index 3a04451..b534f77 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -1838,10 +1838,17 @@
# Convenience entry point (like m) to use Bazel in AOSP.
function b()
(
+ # Look for the --run-soong-tests flag and skip passing --skip-soong-tests to Soong if present
+ local run_tests=$(echo "$@" | grep -ow -- "--run-soong-tests")
+ local bazel_args=(${@/--run-soong-tests})
+ local skip_tests="--skip-soong-tests"
+ if [[ -n $run_tests ]]; then
+ skip_tests=""
+ fi
# Generate BUILD, bzl files into the synthetic Bazel workspace (out/soong/workspace).
- _trigger_build "all-modules" bp2build USE_BAZEL_ANALYSIS= || return 1
+ _trigger_build "all-modules" bp2build USE_BAZEL_ANALYSIS= $skip_tests || return 1
# Then, run Bazel using the synthetic workspace as the --package_path.
- if [[ -z "$@" ]]; then
+ if [[ -z "$bazel_args" ]]; then
# If there are no args, show help.
bazel help
else
@@ -1849,17 +1856,23 @@
# 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 $@;
+ local pre_config_args=""
+ local post_config_args=""
+ local start_post_config_args=0
+ for arg in $bazel_args;
do
- previous_args+="$arg "
- shift
+ if [[ $start_post_config_args -eq 0 ]]; then
+ pre_config_args+="$arg "
+ else
+ post_config_args+="$arg "
+ fi
+
if [[ $arg != -* ]]; # if $arg doesn't start with a dash
then
- break
+ start_post_config_args=1
fi
done
- bazel $previous_args --config=bp2build $@
+ eval "bazel $pre_config_args --config=bp2build $post_config_args"
fi
)